<?xml 
version="1.0" encoding="utf-8"?>
<rss version="2.0" 
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
>

<channel xml:lang="fr">
	<title>Club LinuX Nord-Pas de Calais</title>
	<link>https://clx.asso.fr/spip/</link>
	<description>Association loi 1901 de promotion des logiciels libres en r&#233;gion Nord-Pas de Calais depuis 1999.</description>
	<language>fr</language>
	<generator>SPIP - www.spip.net (Sarka-SPIP)</generator>

	<image>
		<title>Club LinuX Nord-Pas de Calais</title>
		<url>https://clx.asso.fr/spip/local/cache-vignettes/L144xH21/siteon0-86bed.png?1759523095</url>
		<link>https://clx.asso.fr/spip/</link>
		<height>21</height>
		<width>144</width>
	</image>



 
	<item xml:lang="fr">
		<title>La corbeille sous le shell</title>
		<link>https://clx.asso.fr/spip/?La-corbeille-sous-le-shell</link>
		<guid isPermaLink="true">https://clx.asso.fr/spip/?La-corbeille-sous-le-shell</guid>
		<dc:date>2010-12-17T13:25:35Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Olivier Duquesne (DaffyDuke)</dc:creator>


		<dc:subject>Sauvegardes</dc:subject>
		<dc:subject>Programmation</dc:subject>

		<description>
&lt;p&gt;Et oui, qui n'a jamais ripp&#233; sur le rm et souhait&#233; vouloir r&#233;cup&#233;rer ses fichiers, les a cherch&#233; dans la corbeille GNOME, a cherch&#233; apr&#232;s un undelete quelconque. A on aimerait avoir l'option &#034;undo&#034; &#224; rm. Mais non, que neni, ce n'est pas dans la philosophie des administrateurs syst&#232;mes.... &lt;br class='autobr' /&gt;
Un ami (Christophe Van Renterghem) vient de coder une solution pour rem&#233;dier &#224; ce manque, un frontend &#224; rm afin de s&#233;curiser la commande, mieux que l'option -i (interactive). Cette fois, rm d&#233;place les (&#8230;)&lt;/p&gt;


-
&lt;a href="https://clx.asso.fr/spip/?-Installation-Administration-de-base-de-Linux-" rel="directory"&gt;Installation / Administration de base de Linux&lt;/a&gt;

/ 
&lt;a href="https://clx.asso.fr/spip/?+-Sauvegardes-+" rel="tag"&gt;Sauvegardes&lt;/a&gt;, 
&lt;a href="https://clx.asso.fr/spip/?+-Programmation-+" rel="tag"&gt;Programmation&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;p&gt;Et oui, qui n'a jamais ripp&#233; sur le rm et souhait&#233; vouloir r&#233;cup&#233;rer ses fichiers, les a cherch&#233; dans la corbeille GNOME, a cherch&#233; apr&#232;s un undelete quelconque. A on aimerait avoir l'option &#034;undo&#034; &#224; rm. Mais non, que neni, ce n'est pas dans la philosophie des administrateurs syst&#232;mes....&lt;/p&gt;
&lt;p&gt;Un ami (Christophe Van Renterghem) vient de coder une solution pour rem&#233;dier &#224; ce manque, un frontend &#224; rm afin de s&#233;curiser la commande, mieux que l'option -i (interactive). Cette fois, rm d&#233;place les fichiers ou les dossiers &#224; supprimer dans la corbeille de GNOME et ajoute un timestamp qui va bien si une version existe d&#233;j&#224;... Le script fonctionne sous une Ubuntu Maverick. L'absence de shell en d&#233;but de script est normal, il est inclus par le .barshrc. Et surtout, n'oubliez pas de positionner un alias sur la commande rm pour passer dans les fonctions ci-dessous :&lt;/p&gt;
&lt;p&gt;Le voici ci-dessous (.rm.bash) :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;# mode debug # set -x # Pas de param&#232;tres, on sort if [ $# -eq 0 ] then exit 1 fi recursive=1 nobin=1 optNoBin=- optFileOrDir=- param=1 # Options pass&#233;es (r=r&#233;cursif, f=force, s=suppression d&#233;finitive, i=interactif, v=verbeux) while getopts hHrRfFsSiIvV arg do param=0 case $arg in h | H)	echo &#034;usage: rm [-frsiv] file ... (f=force, r=recursive, s=suppress definitively, i=interactive, v=verbose)&#034; exit 0;; r | R)	recursive=0 optNoBin=${optNoBin}r;; f | F)	optNoBin=${optNoBin}f optFileOrDir=${optFileOrDir}f;; s | S)	nobin=0;; i | I)	optNoBin=${optNoBin}i optFileOrDir=${optFileOrDir}i;; v | V)	optNoBin=${optNoBin}v optFileOrDir=${optFileOrDir}v;; \?)	exit 2;; esac done if [ ${optNoBin} = &#034;-&#034; ] then optNoBin= fi if [ ${optFileOrDir} = &#034;-&#034; ] then optFileOrDir= fi if [ $param -eq 0 ] then shift fi # R&#233;pertoire Poubelle directory=~/.local/share/Trash/files while [ $# -gt 0 ] do # Suppression d&#233;finitive if [ $nobin -eq 0 ] then /bin/rm ${optNoBin} &#034;$1&#034; #Poubelle else fullName=&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;readlink -f &amp;quot;$1&amp;quot;&lt;/code&gt; name=&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;basename &amp;quot;${fullName}&amp;quot;&lt;/code&gt; dirname=&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;dirname &amp;quot;${fullName}&amp;quot;&lt;/code&gt; # Fichier ou r&#233;pertoire d&#233;j&#224; existant dans la corbeille if [ -e &#034;${directory}/${name}&#034; ] then name=${name}.&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;date +%s&lt;/code&gt; fullName=${dirname}/${name} fi newDest=${directory}/${name} ok=0 # Fichier ou r&#233;pertoire inexistant if [ ! -e &#034;$1&#034; ] then ok=1 echo &#034;$1: No such file or directory&#034; # rm (-f) fichier elif [ -f &#034;$1&#034; ] then mv $optFileOrDir &#034;$1&#034; &#034;${newDest}&#034; # rm -r(f) r&#233;pertoire elif [ -d &#034;$1&#034; -a $recursive -eq 0 ] then mv $optFileOrDir &#034;$1&#034; &#034;${newDest}&#034; # rm (-f) r&#233;pertoire =&gt; erreur elif [ -d &#034;$1&#034; ] then ok=1 echo &#034;rm: $1 is a directory&#034; else ok=1 fi # Ecriture des infos de restaure du fichier if [ $ok -eq 0 ] then trashinfo=~/.local/share/Trash/info/$name.trashinfo echo &#034;[Trash Info]&#034; &gt; &#034;$trashinfo&#034; echo &#034;Path=$fullName&#034; &gt;&gt; &#034;$trashinfo&#034; echo &#034;DeletionDate=&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;date +%FT%T&lt;/code&gt;&#034; &gt;&gt; &#034;$trashinfo&#034; fi fi shift done exit 0&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
	<item xml:lang="fr">
		<title>Debian et Carte Graphiques ATI : Mini How-TO</title>
		<link>https://clx.asso.fr/spip/?Debian-et-Carte-Graphiques-ATI-Mini-How-TO</link>
		<guid isPermaLink="true">https://clx.asso.fr/spip/?Debian-et-Carte-Graphiques-ATI-Mini-How-TO</guid>
		<dc:date>2005-04-14T19:44:46Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Damien VIGNERON</dc:creator>


		<dc:subject>Debian</dc:subject>

		<description>&lt;p&gt;Petit tutoriel pour l'installation des pilotes pour les cartes vid&#233;o ATI sur distribution Debian !&lt;/p&gt;

-
&lt;a href="https://clx.asso.fr/spip/?-Installation-Administration-de-base-de-Linux-" rel="directory"&gt;Installation / Administration de base de Linux&lt;/a&gt;

/ 
&lt;a href="https://clx.asso.fr/spip/?+-Debian-+" rel="tag"&gt;Debian&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;ATI. De bonnes cartes vid&#233;o, de bonnes performances. Par d&#233;faut, et selon les versions de l'interface graphique X sous Linux, l'utilisation de ces cartes ne se fait pas au maximum de ses possibilit&#233;s. &lt;br class='autobr' /&gt;
Pourtant, quelques manipulations simples permettent d'exploiter les fonctions avanc&#233;es, et les diff&#233;rentes m&#233;thodes d'optimisation de l'affichage. Petite mise en lumi&#218;re, pour un gain de performances ... visible.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;h2 class=&#034;spip&#034;&gt;I) Installation des sources du noyau&lt;/h2&gt;
&lt;p&gt;Premi&#232;rement on va d&#233;terminer quelle version du noyau tourne sur votre machine, puis installer les sources correspondantes :&lt;/p&gt;
&lt;p&gt;Pour d&#233;terminer la version du noyau, saisissez dans une console, la commande suivante :&lt;br class='autobr' /&gt;
&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;uname -r&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Installation des sources correspondantes :&lt;br class='autobr' /&gt;
&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;apt-get install kernel-source-XXXXX&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Par exemple si votre noyau est le 2.4.24, la commande &lt;i&gt;uname -r&lt;/i&gt; affichera 2.4.24 et vous taperez donc :&lt;br class='autobr' /&gt;
&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;apt-get install kernel-source-2.4.24&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Attention, si votre noyau est le 2.4.18-bf24 d'origine sur la Debian&lt;br class='autobr' /&gt;
Woody, il va falloir changer de noyau via &lt;i&gt;apt-get&lt;/i&gt;, les sources n'&#233;tant pas disponibles. D&#233;sol&#233;...&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;II) D&#233;termination de la version de Xfree86 et r&#233;cup&#233;ration du bon driver&lt;/h2&gt;
&lt;p&gt;Il faut maintenant conna&#238;tre la version du serveur X.&lt;br class='autobr' /&gt;
Pour cela, on va tout simplement demander au gestionnaire de packages :&lt;/p&gt;
&lt;p&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;dpkg -l | grep xserver-xfree86&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Dans le r&#233;sultat de cette commande, vous devriez voir quelque part 4.1, 4.2 ou 4.3. Notez bien ce num&#233;ro.&lt;br class='autobr' /&gt;
Maintenant, direction le site &lt;a href=&#034;http://www.ati.com&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;ATI&lt;/a&gt; afin de r&#233;cup&#233;rer le &lt;i&gt;driver&lt;/i&gt; ou pilote correspondant.&lt;br class='autobr' /&gt;
Avec Mozilla, en haut de la page Web, vous remarquerez un bandeau. Cliquez sur &#034;&lt;strong&gt;Drivers &amp; Software&lt;/strong&gt;&#034;, puis choisissez &#034;&lt;strong&gt;Linux Drivers and Software &lt;/strong&gt;&#034;, et enfin s&#233;lectionnez la version de votre carte graphique. par exemple, optez pour le lien &lt;strong&gt;RADEON 8500 Series and higher&lt;/strong&gt; si votre ordinateur est &#233;quip&#233; d'une carte ATI r&#233;cente.&lt;br class='autobr' /&gt;
Vous arriverez &#224; une page proposant le t&#233;l&#233;chargement des &lt;i&gt;drivers&lt;/i&gt; pour Xfree86 4.1.0, 4.2.0 ou 4.3.0 et m&#234;me Xorg 6.8.&lt;br class='autobr' /&gt;
T&#233;l&#233;chargez celui qui correspond &#224; la version d&#233;termin&#233;e au paragraphe pr&#233;c&#233;dent.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;III) Conversion et installation du driver&lt;/h2&gt;
&lt;p&gt;Nos amis de chez ATI n'ont visiblement pas pens&#233; &#224; nous autres pauvres&lt;br class='autobr' /&gt;
utilisateurs de Debian, leur &lt;i&gt;driver&lt;/i&gt; est au format RPM. Bon, pas de probl&#232;me, on va le convertir dans un format plus sympathique pour notre distro pr&#233;f&#233;r&#233;e.&lt;br class='autobr' /&gt;
Pour cela, nous allons utiliser l'utilitaire &lt;i&gt;alien&lt;/i&gt;&lt;span class=&#034;spip_note_ref&#034;&gt; [&lt;a href=&#034;#nb1&#034; class=&#034;spip_note&#034; rel=&#034;appendix&#034; title=&#034;Alien permet de convertir les paquetages des distributions autres que (&#8230;)&#034; id=&#034;nh1&#034;&gt;1&lt;/a&gt;]&lt;/span&gt;, que nous installons comme ceci :&lt;/p&gt;
&lt;p&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;apt-get install alien&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Allez dans le r&#233;pertoire contenant le &lt;i&gt;driver&lt;/i&gt; au format RPM, puis convertissez&lt;br class='autobr' /&gt;
le paquetage du pilote :&lt;/p&gt;
&lt;p&gt;alien &#034;nom du package du pilote ATi&#034;&lt;/p&gt;
&lt;p&gt;Par exemple : &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;alien fglrx-4.1.0-3.7.6.i386.rpm&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Cela cr&#233;era dans le r&#233;pertoire un package .deb portant presque le m&#234;me&lt;br class='autobr' /&gt;
nom, que nous allons installer imm&#233;diatement :&lt;/p&gt;
&lt;p&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;dpkg -i --force-overwrite &#034;nom du package .deb&#034;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Par exemple : &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;dpkg -i --force-overwrite fglrx_4.1.0-3.7.6_i386.deb&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Voil&#224;, les sources du &lt;i&gt;driver&lt;/i&gt; sont install&#233;es ; maintenant il va falloir compiler quelques trucs.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;IV) Compilation du driver&lt;/h2&gt;
&lt;p&gt;Pas de panique c'est simple : on va rendre deux scripts ex&#233;cutables, et les lancer. Rien de sorcier.&lt;/p&gt;
&lt;p&gt;Allez dans &lt;strong&gt;/lib/modules/fglrx/build_mod&lt;/strong&gt;, Rendez le script &lt;strong&gt;make.sh&lt;/strong&gt; ex&#233;cutable, puis ex&#233;cutez-le :&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='3' class='spip_cadre spip_cadre_block' dir='ltr'&gt;cd /lib/modules/fglrx/build_mod chmod +x ./make.sh ./make.sh&lt;/textarea&gt;
&lt;p&gt;On descend d'un r&#233;pertoire, et on fait la m&#234;me chose pour le script &lt;strong&gt;make_install.sh&lt;/strong&gt; :&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='3' class='spip_cadre spip_cadre_block' dir='ltr'&gt;cd .. chmod +x ./make_install.sh ./make_install&lt;/textarea&gt;
&lt;p&gt;Voil&#224;, normalement tout est install&#233;. Il ne reste plus qu'&#224; configurer le &lt;i&gt;driver&lt;/i&gt;.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;V) Configuration du driver&lt;/h2&gt;
&lt;p&gt;A partir de maintenant, tous les r&#233;glages doivent &#234;tre effectu&#233;s &#224; l'aide du programme &lt;strong&gt;fglrxconfig&lt;/strong&gt;. Faites une copie de sauvegarde du fichier &lt;strong&gt;XF86Config-4&lt;/strong&gt;&lt;span class=&#034;spip_note_ref&#034;&gt; [&lt;a href=&#034;#nb2&#034; class=&#034;spip_note&#034; rel=&#034;appendix&#034; title=&#034;par exemple, avec une commande&#034; id=&#034;nh2&#034;&gt;2&lt;/a&gt;]&lt;/span&gt;, puis lancez le programme de configuration :&lt;/p&gt;
&lt;p&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;fglrxconfig&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Et r&#233;pondez aux questions pos&#233;es, qui sont &#224; peu de chose pr&#232;s les m&#234;mes&lt;br class='autobr' /&gt;
auxquelles vous avez r&#233;pondu lors de l'installation du serveur X :&lt;br class='autobr' /&gt;
configuration du clavier, &lt;i&gt;device&lt;/i&gt; de la souris (/dev/psaux pour les&lt;br class='autobr' /&gt;
souris PS/2), etc.&lt;br class='autobr' /&gt;
Sachez que les choix par d&#233;faut sont g&#233;n&#233;ralement tr&#232;s bien, donc si&lt;br class='autobr' /&gt;
vous bloquez sur une question, appuyez simplement sur la touche &lt;i&gt;Entr&#233;e&lt;/i&gt; pour&lt;br class='autobr' /&gt;
utiliser le r&#233;glage par d&#233;faut. A la fin, autorisez le programme &#224;&lt;br class='autobr' /&gt;
&#233;crire le fichier &lt;strong&gt;XF86Config-4&lt;/strong&gt; afin de sauvegarder votre config.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;VI) Pour finir...&lt;/h2&gt;
&lt;p&gt;Il ne reste plus qu'&#224; relancer le mode graphique. Pour cela,&lt;br class='autobr' /&gt;
d&#233;loguez-vous, puis appuyez simultan&#233;ment sur la combinaison de touches &lt;strong&gt;Control-Alt-Backspace&lt;/strong&gt; pour&lt;br class='autobr' /&gt;
tuer le serveur X.&lt;br class='autobr' /&gt;
Normalement il se relance tout seul et la nouvelle configuration est active :)&lt;/p&gt;
&lt;p&gt;Sur les &lt;i&gt;Desktops&lt;/i&gt; r&#233;cents (versions r&#233;centes de KDE et Gnome), un&lt;br class='autobr' /&gt;
utilitaire permet de changer directement la r&#233;solution, comme sous&lt;br class='autobr' /&gt;
Windows. Sinon, les bonnes vieilles combinaisons &lt;strong&gt;Control-Alt-+&lt;/strong&gt; et&lt;br class='autobr' /&gt;
&lt;strong&gt;Control-Alt&#8212;&lt;/strong&gt; devraient fonctionner.&lt;/p&gt;
&lt;p&gt;&lt;i&gt;Martins Armando, Vigneron Damien, un Anonyme sur un forum&lt;/i&gt;&lt;/p&gt;&lt;/div&gt;
		&lt;hr /&gt;
		&lt;div class='rss_notes'&gt;&lt;div id=&#034;nb1&#034;&gt;
&lt;p&gt;&lt;span class=&#034;spip_note_ref&#034;&gt;[&lt;a href=&#034;#nh1&#034; class=&#034;spip_note&#034; title=&#034;Notes 1&#034; rev=&#034;appendix&#034;&gt;1&lt;/a&gt;] &lt;/span&gt;Alien permet de convertir les paquetages des distributions autres que Debian, dans un format .deb. La gestion des d&#233;pendance n'est pas toujours parfaite, mais en g&#233;n&#233;ral, pour un paquetage isol&#233;, cela fonctionne plut&#244;t bien.&lt;/p&gt;
&lt;/div&gt;&lt;div id=&#034;nb2&#034;&gt;
&lt;p&gt;&lt;span class=&#034;spip_note_ref&#034;&gt;[&lt;a href=&#034;#nh2&#034; class=&#034;spip_note&#034; title=&#034;Notes 2&#034; rev=&#034;appendix&#034;&gt;2&lt;/a&gt;] &lt;/span&gt;par exemple, avec une commande&lt;/p&gt;
&lt;pre&gt; cp /etc/X11/XF86Config-4 /etc/X11/XF86Config-4.orig&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
	<item xml:lang="fr">
		<title>R&#233;cup&#233;rer les donn&#233;es d'une clef USB</title>
		<link>https://clx.asso.fr/spip/?Recuperer-les-donnees-d-une-clef-USB</link>
		<guid isPermaLink="true">https://clx.asso.fr/spip/?Recuperer-les-donnees-d-une-clef-USB</guid>
		<dc:date>2004-06-28T13:57:26Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Vincent Beuselinck</dc:creator>


		<dc:subject>P&#233;riph&#233;riques</dc:subject>
		<dc:subject>Sauvegardes</dc:subject>

		<description>
&lt;p&gt;Ma clef USB (contenant 384 Mo de donn&#233;es pr&#233;cieuses) a fait un vol plan&#233;. Linux ou Windows ont eu la m&#234;me r&#233;action : partition non format&#233;e. C'est toujours &#224; ce moment l&#224; qu'on se rend compte que la derni&#218;re sauvegarde a plus d'un mois... &lt;br class='autobr' /&gt;
Instant id&#233;al pour prendre le temps d'&#233;tudier les commandes linux de sauvegarde, copie, exploration et tuttiquanti. &lt;br class='autobr' /&gt; Cet article n'a pas pour ambition de vous donner une m&#233;thode infaillible ou efficace pour r&#233;cup&#233;rer les donn&#233;es perdues mais de vous (&#8230;)&lt;/p&gt;


-
&lt;a href="https://clx.asso.fr/spip/?-Installation-Administration-de-base-de-Linux-" rel="directory"&gt;Installation / Administration de base de Linux&lt;/a&gt;

/ 
&lt;a href="https://clx.asso.fr/spip/?+-Peripheriques-+" rel="tag"&gt;P&#233;riph&#233;riques&lt;/a&gt;, 
&lt;a href="https://clx.asso.fr/spip/?+-Sauvegardes-+" rel="tag"&gt;Sauvegardes&lt;/a&gt;

		</description>


 <content:encoded>&lt;img src='https://clx.asso.fr/spip/local/cache-vignettes/L150xH72/arton253-b4bcf.png?1759527962' alt='' class='spip_logo spip_logo_right' width='150' height='72' onmouseover='' onmouseout='' /&gt;
		&lt;div class='rss_chapo'&gt;&lt;p&gt;Ma clef USB (contenant 384 Mo de donn&#233;es pr&#233;cieuses) a fait un vol plan&#233;. Linux ou Windows ont eu la m&#234;me r&#233;action : partition non format&#233;e. C'est toujours &#224; ce moment l&#224; qu'on se rend compte que la derni&#218;re sauvegarde a plus d'un mois...&lt;/p&gt;
&lt;p&gt;Instant id&#233;al pour prendre le temps d'&#233;tudier les commandes linux de sauvegarde, copie, exploration et tuttiquanti.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;Cet article n'a pas pour ambition de vous donner une m&#233;thode infaillible ou efficace pour r&#233;cup&#233;rer les donn&#233;es perdues mais de vous pr&#233;senter par un exemple v&#233;cu quelques outils simples et utiles pour sonder sa clef.&lt;/p&gt;
&lt;p&gt;Tout d'abord la premi&#232;re chose &#224; faire est de ne pas jouer les apprentis sorciers : ne pas d&#233;truire encore plus les donn&#233;es qui s'y trouveraient encore avec des logiciels sp&#233;cialis&#233;s dont j'ignore les actions et performances.&lt;/p&gt;
&lt;p&gt;Nous travaillerons donc sur une copie de la clef USB.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;dd&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&#171; dd &#187; est un outil de copie.Dans la &lt;a href=&#034;http://www.mandriva.com&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;mandrake&lt;/a&gt; il est install&#233; d'office. Sa syntaxe est assez simple :&lt;/p&gt;
&lt;blockquote class=&#034;spip&#034;&gt;
&lt;p&gt;dd if=fichier_d'entr&#233;e of=fichier-de-sortie&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Les options les plus courantes sont : &lt;br class='autobr' /&gt;
bs=taille_d'un_bloc-secteur&lt;br class='autobr' /&gt;
count=nombre_de_blocs_&#224;_lire&lt;/p&gt;
&lt;p&gt;Par exemple, la commande suivante cr&#233;e une copie des 512 premiers octets de la partition 1 du disque 1 sur la premi&#232;re nappe IDE. C'est le &#034;Master Boot Record&#034; (MBR) ou &#034;secteur de d&#233;marrage&#034; :&lt;/p&gt;
&lt;blockquote class=&#034;spip&#034;&gt;
&lt;p&gt;dd if=/dev/hda of=./lesecteurmbr.dd bs=512 count=1&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Notre clef &#233;tant reconnue comme un p&#233;riph&#233;rique &#034;sda&#034;, nous copierons donc sa premi&#232;re partition dans un fichier.&lt;br class='autobr' /&gt;
Notre commande sera donc ici :&lt;/p&gt;
&lt;blockquote class=&#034;spip&#034;&gt;
&lt;p&gt;dd if=/dev/sda1 of=./maclef.dd&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Ce fichier maclef.dd fait quasiment 488 Mo, &#231;a tombe bien puisqu'il s'agit presque de la taille de ma clef, donc de la partition unique qui s'y trouve.&lt;br class='autobr' /&gt;
Attention, j'ai voulu servir l'option bs de fa&#231;on tr&#232;s r&#233;duite (bs=1) car j'ignorais la taille r&#233;elle des secteurs qui s'y trouvaient. Quelle mauvais id&#233;e : la copie &#233;tait d'une lenteur... Finalement apr&#232;s plusieurs essais (512, 2048...), j'ai ot&#233; ce param&#234;tre car cela ne changeait rien sur le fichier r&#233;sultant.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;mc&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;mc&lt;span class=&#034;spip_note_ref&#034;&gt; [&lt;a href=&#034;#nb2-1&#034; class=&#034;spip_note&#034; rel=&#034;appendix&#034; title=&#034;il est install&#233; par d&#233;faut avec la mandrake 10 mais pour la 9.2, taper (&#8230;)&#034; id=&#034;nh2-1&#034;&gt;1&lt;/a&gt;]&lt;/span&gt; est le couteau suisse du mode console. Il permet entre autres fonctions de naviguer parmi les r&#233;pertoires, visualiser les fichiers textes, changer les droits, copier, effacer, d&#233;truire...&lt;/p&gt;
&lt;p&gt;Nous naviguons donc dans la liste des fichiers pour s&#233;lectionner maclef.dd. Un appui sur la touche F3 permet d'en visualiser le d&#233;but et de me rendre compte qu'un octet sur deux est un point. Un appui sur la touche F4 permet de visualiser en mode hexad&#233;cimal. Je me rends alors compte qu'un octet sur deux est &#224; z&#233;ro.&lt;/p&gt;
&lt;p&gt;A force de regarder ces caract&#232;res bizarres, j'arrive &#224; rep&#233;rer N.N.M. . . . pr&#233;c&#233;d&#233; de F.T.2 puis r.s. .a.y. .k.y. Un cruciverbiste aurait probablement compl&#233;t&#233; plus vite que moi les lettres manquantes : &#034;NONAME&#034;, &#034;FAT32&#034; ainsi que &#034;press any key&#034;. A l'aide de la touche F6, je recherche le texte complet et le trouve un peu plus loin. Je venais de red&#233;couvrir que la FAT est inscrite deux fois sur un disque ! La m&#234;me s&#233;quence commence sur la ligne C00 mais au complet. Plus de pointill&#233;.&lt;/p&gt;
&lt;p&gt;&#034;C00&#034;, Kcalc&lt;span class=&#034;spip_note_ref&#034;&gt; [&lt;a href=&#034;#nb2-2&#034; class=&#034;spip_note&#034; rel=&#034;appendix&#034; title=&#034;calculatrice sous kde mais n'importe quelle calculatrice capable de (&#8230;)&#034; id=&#034;nh2-2&#034;&gt;2&lt;/a&gt;]&lt;/span&gt; (et son bouton &#034;base&#034;) me transforme cette valeur en nombre d&#233;cimal : 3072 octets.&lt;/p&gt;
&lt;p&gt;Visiblement, seuls les 512 premiers octets de ma clef ont ce syndr&#244;me du pointill&#233; (ce caract&#232;re nul, une fois sur deux), je vais donc extraire 512 octets &#224; partir du 3072 et les remettre &#224; la place des 512 premiers.&lt;/p&gt;
&lt;p&gt;Encore une fois dd va venir &#224; mon secours. Un &#034;man dd&#034; me donnera les informations n&#233;cessaires.&lt;br class='autobr' /&gt;
3072 c'est 6 fois 512 octets donc je dois extraire le 7&#232;me bloc d'octets :&lt;/p&gt;
&lt;blockquote class=&#034;spip&#034;&gt;
&lt;p&gt;dd if=./maclef.dd of=./fatok.dd bs=512 count=1 skip=6&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;D&#233;tail de la commande :&lt;/p&gt;
&lt;p&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; if (Input File = fichier duquel j'extrais)
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; of (Output File = r&#233;sultat de ma copie)
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; bs=512 (BlockSize = nombre d'octets &#224; lire d'un coup)
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; count=1 (nombre de &#034;tranches&#034; de 512 octets &#224; lire)
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; skip=6 (mais en laissant de c&#244;t&#233; les 6 premi&#232;res tranches de 512 octets soit 3072)&lt;/p&gt;
&lt;p&gt;Avec mc, je v&#233;rifie que j'ai bien r&#233;cup&#233;r&#233; le bloc voulu puis on passe &#224; l'int&#233;gration dans le fichier de d&#233;part mais cette fois-ci on le positionne au d&#233;but du fichier :&lt;/p&gt;
&lt;blockquote class=&#034;spip&#034;&gt;
&lt;p&gt;dd if=./fatok.dd of=./maclef.dd bs=512 count=1 conv=notrunc&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;L'option suppl&#233;mentaire &lt;i&gt;conv=notrunc&lt;/i&gt; pr&#233;cise &#224; dd de laisser maclef.dd &#224; sa taille d'origine donc de ne pas le r&#233;duire &#224; ce qu'on vient d'&#233;crire. En d'autres termes, on &#233;crase les 512 premiers octets mais on laisse intact tout ce qui est derri&#232;re. Sans cette option, maclef.dd ne ferait plus que 512 octets.&lt;/p&gt;
&lt;p&gt;Arriv&#233; l&#224;, j'ai proc&#233;d&#233; &#224; la copie du fichier sur ma clef et j'ai crois&#233; les doigts pour que &#231;a marche... C'est faisable mais risqu&#233; ! Ensuite j'ai trouv&#233; comment j'aurais pu &#233;viter ce risque inconsid&#233;r&#233; : mount et loop.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;mount&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;C'est une commande que les mandrakephiles n'utilisent que rarement : les confortables supermount, hotplug et diskdrake se chargement g&#233;n&#233;ralement de ma&#238;triser mount &#224; notre place. Cette commande permet de &#034;monter&#034; un p&#233;riph&#233;rique de type bloc, c'est-&#224;-dire de passer d'une lecture bloc par bloc (octet par octet) &#224; une lecture utilisant le syst&#232;me de fichier qui lui est associ&#233; (c'est-&#224;-dire la reconnaissance des fichiers, dossiers ou r&#233;pertoires, d&#233;buts et fins de fichiers, attributs...).&lt;/p&gt;
&lt;p&gt;J'ai souvent entendu dire que &#034;&lt;i&gt;tout est fichier dans linux&lt;/i&gt;&#034; donc pourquoi ne pas utiliser notre fichier maclef.dd comme s'il s'agissait d'une vraie clef USB ?&lt;/p&gt;
&lt;p&gt;apr&#232;s quelques t&#226;tonnements, je trouve la formule qui permet &#224; &lt;i&gt;mount&lt;/i&gt; de faire de mon fichier, une pseudo clef USB.&lt;/p&gt;
&lt;p&gt;D'abord cr&#233;er un point de montage car mount m'a dit que le point de montage n'existait pas :&lt;/p&gt;
&lt;blockquote class=&#034;spip&#034;&gt;
&lt;p&gt;mkdir /mnt/mapseudoclef&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Ensuite mount me dira que ce n'est pas un p&#233;riph&#233;rique &#034;bloc&#034; et qu'il me faut utiliser l'option -o loop. Vu comme &#231;a c'est pas dur linux ! On essaye, et quand &#231;a ne va pas, on suit la proposition !&lt;/p&gt;
&lt;blockquote class=&#034;spip&#034;&gt;
&lt;p&gt;mount -t vfat /home/beuz/maclef.dd /mnt/mapseudoclef -o loop&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Les options sont :
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; &lt;i&gt;t vfat&lt;/i&gt; pour signifier que nous sommes en pr&#233;sence d'un syst&#232;me de fichier FAT (iso9660 permettrait ainsi d'explorer le contenu d'une image ISO)
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; origine de mon montage (ici mon fichier)
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; endroit o&#249; le syst&#232;me de fichier est int&#233;gr&#233; &#224; l'arborescence existante (ici /mnt/mapseudoclef)
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; &lt;i&gt;o loop&lt;/i&gt; qui permet d'utiliser ce fichier comme un p&#233;riph&#233;rique &#034;bloc&#034;&lt;/p&gt;
&lt;p&gt;Plus de message d'erreur, je vais voir avec mc ce qu'il y a dans le r&#233;pertoire /mnt/mapseudoclef et bingo ! Voil&#224; mes fichiers. Je regarde l'int&#233;rieur d'un fichier et tout va bien.&lt;/p&gt;
&lt;p&gt;Ensuite il ne restera plus qu'&#224; recopier maclef.dd sur /dev/sda1 ou bien formater la clef et recopier les fichiers avec un gestionnaire de fichiers.&lt;/p&gt;&lt;/div&gt;
		&lt;hr /&gt;
		&lt;div class='rss_notes'&gt;&lt;div id=&#034;nb2-1&#034;&gt;
&lt;p&gt;&lt;span class=&#034;spip_note_ref&#034;&gt;[&lt;a href=&#034;#nh2-1&#034; class=&#034;spip_note&#034; title=&#034;Notes 2-1&#034; rev=&#034;appendix&#034;&gt;1&lt;/a&gt;] &lt;/span&gt;il est install&#233; par d&#233;faut avec la mandrake 10 mais pour la 9.2, taper &#034;&lt;i&gt;urpmi mc&lt;/i&gt;&#034;. Il existe probablement aussi en deb, tar.gz,etc. Plus d'info : &lt;a href=&#034;http://www.ibiblio.org/mc/&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://www.ibiblio.org/mc/&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;&lt;div id=&#034;nb2-2&#034;&gt;
&lt;p&gt;&lt;span class=&#034;spip_note_ref&#034;&gt;[&lt;a href=&#034;#nh2-2&#034; class=&#034;spip_note&#034; title=&#034;Notes 2-2&#034; rev=&#034;appendix&#034;&gt;2&lt;/a&gt;] &lt;/span&gt;calculatrice sous kde mais n'importe quelle calculatrice capable de travailler en base 16 convient&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;
		&lt;div class='rss_ps'&gt;&lt;p&gt;Je vous vois venir : &#034;Moi, &#231;a ne marche pas avec ma clef qui est pass&#233;e dans la machine &#224; laver !&#034; Oui, bon... Je n'avais pas la pr&#233;tention de fournir la solution ultime mais simplement de donner quelques pistes en s'appropriant par cette occasion quelques commandes tr&#218;s pratiques de linux.&lt;/p&gt;&lt;/div&gt;
		</content:encoded>


		

	</item>
	<item xml:lang="fr">
		<title>D&#233;couverte de CVS</title>
		<link>https://clx.asso.fr/spip/?Decouverte-de-CVS-244</link>
		<guid isPermaLink="true">https://clx.asso.fr/spip/?Decouverte-de-CVS-244</guid>
		<dc:date>2004-04-19T12:46:03Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Yvonnick Esnault</dc:creator>


		<dc:subject>Administration Syst&#232;me</dc:subject>
		<dc:subject>Programmation</dc:subject>

		<description>&lt;p&gt;CVS est le gestionnaire de version de fichiers le plus r&#233;pandu. Voici une installation pas &#224; pas, puis une introduction aux commandes de bases.&lt;/p&gt;

-
&lt;a href="https://clx.asso.fr/spip/?-Installation-Administration-de-base-de-Linux-" rel="directory"&gt;Installation / Administration de base de Linux&lt;/a&gt;

/ 
&lt;a href="https://clx.asso.fr/spip/?+-Administration-Systeme-+" rel="tag"&gt;Administration Syst&#232;me&lt;/a&gt;, 
&lt;a href="https://clx.asso.fr/spip/?+-Programmation-+" rel="tag"&gt;Programmation&lt;/a&gt;

		</description>


 <content:encoded>&lt;img src='https://clx.asso.fr/spip/local/cache-vignettes/L150xH63/arton244-08ca3.png?1759557690' alt='' class='spip_logo spip_logo_right' width='150' height='63' onmouseover='' onmouseout='' /&gt;
		&lt;div class='rss_texte'&gt;&lt;h2 class=&#034;spip&#034;&gt;Installation&lt;/h2&gt;
&lt;p&gt;L'installation &#224; partir du paquet debian est tr&#232;s simple :&lt;br /&gt;
&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;#apt-get install cvs&lt;/code&gt; &lt;br /&gt;
Il nous est pos&#233; deux questions &#224; l'installation :&lt;/p&gt;
&lt;p&gt; - &#171; Veuillez indiquer la liste des r&#233;pertoires qui sont &#224; la racine de vos entrep&#244;ts... &#187;. Par d&#233;faut c'est &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/var/lib/cvs&lt;/code&gt;. On garde la valeur par d&#233;faut.&lt;br /&gt;&lt;/p&gt;
&lt;p&gt; - Une seconde question est pos&#233;e et semble plus compliqu&#233;e : &#171; Le pserver CVS est un m&#233;canisme client-serveur qui peut &#234;tre utilis&#233; par CVS ... Faut-il activer le pserver CVS ? &#187;. Ici, tout d&#233;pend de la m&#233;thode d'acc&#232;s &#224; la base choisie apr&#232;s. C'est peut-&#234;tre mieux de r&#233;pondre &lt;i&gt;oui&lt;/i&gt; pour tester ce mode d'acc&#232;s. &lt;br /&gt;&lt;/p&gt;
&lt;p&gt;L'installation a bien cr&#233;&#233; le r&#233;pertoire &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/var/lib/cvs&lt;/code&gt;, d'ailleurs : &lt;br /&gt;&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;# ls /var/lib/cvs/ CVSROOT&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt; &lt;p&gt;&lt;br /&gt;
Il est conseill&#233; de ne pas toucher directement aux fichiers cvs dans ce r&#233;pertoire. &lt;br /&gt;&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Permissions&lt;/h2&gt;
&lt;p&gt;Tous les fichiers qui seront soumis au versionnement seront donc dans le r&#233;pertoire &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/var/liv/cvs&lt;/code&gt;. Il faut donc que tous les utilisateurs de cvs ait le droit de modifier les fichiers.&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;De plus, nous ramarquons que : &lt;br /&gt;&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;# ls -la /var/lib/cvs/ total 12 drwxrwsr-x 3 root src 4096 2004-03-30 21:33 . drwxr-xr-x 39 root root 4096 2004-03-30 21:33 .. drwxrwsr-x 3 root src 4096 2004-03-30 21:33 CVSROOT&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt; &lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;Il faut donc rajouter les personnes utilisant cvs au groupe cvs tel que : &lt;br /&gt;&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;# sudo adduser yvo src Ajout de l'utilisateur yvo au groupe src... Fait.&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Notre r&#233;pertoire local&lt;/strong&gt; &lt;br /&gt;
Commen&#231;ons d'abord &#224; cr&#233;er un r&#233;pertoire dans notre dossier personnel o&#249; nous mettrons notre copie de travail. C'est dans ce r&#233;pertoire que nous travaillerons sur nos projets. &lt;br /&gt;&lt;/p&gt;
&lt;p&gt;Pour &#234;tre clair, j'indique toutes mes commandes : &lt;br /&gt;&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;yvo@raclette:~$ cd /home/yvo/ yvo@raclette:~$ mkdir mondossiercvs yvo@raclette:~$ cd mondossiercvs/ yvo@raclette:~/mondossiercvs$&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 class=&#034;spip&#034;&gt;M&#233;thodes d'acc&#232;s&lt;/h2&gt;
&lt;p&gt;Il existe plusieurs m&#233;thodes d'acc&#232;s &#224; une base cvs : &lt;br /&gt; - acc&#232;s direct. &lt;br /&gt; - mode serveur (avec pserver). &lt;br /&gt; - mode ssh. &lt;br /&gt; - mode serveur kerberos et GSSAPI, que l'on ne verra pas dans cette article. &lt;br /&gt;
&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;Sur mon serveur nomm&#233; &lt;i&gt;raclette&lt;/i&gt;, j'ai mon compte &lt;i&gt;yvo&lt;/i&gt;. La base est sur : &lt;br /&gt;
&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;yvo@raclette:~$ ls /var/lib/cvs/&lt;/code&gt;. &lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Configuration pour un acc&#232;s direct&lt;/strong&gt; &lt;br /&gt;
Notre variable d'environnement &lt;strong&gt;CVSROOT&lt;/strong&gt; s'exporte telle que : &lt;br /&gt;&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;$export CVSROOT=/var/lib/cvs&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Configuration pour un acc&#232;s pserver&lt;/strong&gt; &lt;br /&gt;
Pour l'acc&#232;s en mode pserver, il faut modifier les fichiers &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/etc/services&lt;/code&gt; et &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/etc/inetd.conf&lt;/code&gt;. Debian fait ces modifications tout seul ! &lt;br /&gt;
Fichier /etc/services : &lt;br /&gt;&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;# cat {{/etc/services}} | grep cvs cvspserver 2401/tcp # CVS client/server operations cvspserver 2401/udp&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt; &lt;p&gt;Fichier &lt;strong&gt;/etc/inetd.conf&lt;/strong&gt; : &lt;br /&gt;&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;#cat /etc/inetd.conf | grep cvs cvspserver stream tcp nowait root /usr/sbin/tcpd /usr/sbin/cvs-pserver&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt; &lt;p&gt;Notre variable s'exporte telle que : &lt;br /&gt;&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;$export CVSROOT :pserver:yvo@raclette:/var/lib/cvs&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Configuration pour un acc&#232;s ssh&lt;/strong&gt; &lt;br /&gt;
J'oublie volontairement l'acc&#232;s rsh en pr&#233;f&#233;rant le ssh.&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;$export CVSROOT :ext:yvo@raclette:/var/lib/cvs $export CVS_RSH ssh&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;C'est &#224; partir de cette variable &lt;strong&gt;CVSROOT&lt;/strong&gt; que nos commandes cvs pourront s'effectuer.
&lt;br /&gt;&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Cr&#233;ation de la base&lt;/h2&gt;
&lt;p&gt;Une fois la variable &lt;strong&gt;CVSROOT&lt;/strong&gt; renseign&#233;e, nous pouvons cr&#233;er la base telle que : &lt;br /&gt;
&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;yvo@raclette:~/mondossiercvs$ cvs init&lt;/code&gt;
&lt;br /&gt;
Cette commande cr&#233;e les fichiers d'administration de la base dans le r&#233;pertoire &lt;strong&gt;CVSROOT&lt;/strong&gt; (ici &lt;i&gt;/var/lib/cvs&lt;/i&gt;). &lt;br /&gt;&lt;/p&gt;
&lt;p&gt;(FIXME : Debian a d&#233;j&#224; fait ce travail &#224; notre place ?)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Notre produit&lt;/strong&gt; &lt;br /&gt;
Dans cette article, il nous faut un produit avec lequel cvs sera utilis&#233;. Notre produit s'apellera &lt;i&gt;SuperProduit&lt;/i&gt; et sera cr&#233;&#233; par &lt;i&gt;yvo&lt;/i&gt; dans le r&#233;pertoire : &lt;br /&gt;
&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/mondossiercvs/mon_produit&lt;/code&gt; &lt;br /&gt;
pour la premi&#232;re fois. Ce produit comporte un fichier nomm&#233; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;premier_fichier&lt;/code&gt; dans lequel une ligne est inscrite : &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;premi&#232;re ligne&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Plus clairement, cela donne : &lt;br /&gt;&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;yvo@raclette:~/mondossiercvs$ mkdir mon_produit yvo@raclette:~/mondossiercvs$ cd mon_produit yvo@raclette:~/mondossiercvs/mon_produit$ echo &#034;premi&#232;re ligne&#034; &gt; premier_fichier yvo@raclette:~/mondossiercvs/mon_produit$ cat premier_fichier premi&#232;re ligne yvo@raclette:~/mondossiercvs/mon_produit$&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Enregistrement de notre produit dans la base CVS&lt;/h2&gt;
&lt;p&gt;Notre produit est cr&#233;&#233; dans notre r&#233;pertoire local, mais n'est pas encore inscrit dans la base cvs.&lt;/p&gt;
&lt;p&gt;Cette inscription est un &lt;i&gt;import&lt;/i&gt; : nous importons des fichiers de notre r&#233;pertoire local sur le serveur.&lt;/p&gt;
&lt;p&gt;La commande est : &lt;br /&gt;&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;yvo@raclette:~/mondossiercvs/mon_produit$ cvs import -m &#034;Enregistrement de Super Produit dans le cvs&#034; SuperProduit Recup V0 N SuperProduit/premier_fichier No conflicts created by this import&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;br /&gt;
Visiblement, il n'y a pas eu de probl&#232;me lors de l'import.&lt;/p&gt;
&lt;p&gt;L'option &lt;strong&gt;-m&lt;/strong&gt; est suivie ici de &lt;i&gt;&#034;Enregistrement de Super Produit dans le cvs&#034;&lt;/i&gt;. Cette option permet de donner un message de description pour la version. Si &lt;strong&gt;-m&lt;/strong&gt; n'est pas renseign&#233;e, un &#233;diteur de texte se lance.&lt;/p&gt;
&lt;p&gt;L'option &lt;strong&gt;Recup&lt;/strong&gt; est le nom de la branche. &lt;br /&gt;
L'option &lt;strong&gt;V0&lt;/strong&gt; est le nom de version.&lt;/p&gt;
&lt;p&gt;Je n'explique pas plus ces options ici, vous comprendrez mieux avec la commande &lt;strong&gt;cvs log&lt;/strong&gt; plus bas... &lt;br /&gt;&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;R&#233;cup&#233;ration de SuperProduit&lt;/h2&gt;
&lt;p&gt;La r&#233;cup&#233;ration de SuperProduit s'effectue &#224; l'aide de la commande : &lt;strong&gt;cvs checkout &lt;monproduit&gt;&lt;/strong&gt;. &lt;br /&gt; &lt;br /&gt;&lt;/p&gt;
&lt;p&gt;Dans mes manipulations ci-dessus, une erreur se situe au niveau de la commande : &lt;br /&gt; - &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;$mkdir mon_produit&lt;/code&gt;&lt;br class='autobr' /&gt;
et au niveau de ma r&#233;flexion sur le nom de mon produit...&lt;br class='autobr' /&gt;
&lt;i&gt;Notre produit s'apellera &lt;i&gt;SuperProduit&lt;/i&gt; &lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Pourquoi ?&lt;/strong&gt;&lt;br /&gt;
Nous avons d&#233;cid&#233; d'appeler le produit &lt;i&gt;SuperProduit&lt;/i&gt;, mais nous lui avons donner le r&#233;pertoire &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;mon_produit&lt;/code&gt; &lt;br /&gt;&lt;/p&gt;
&lt;p&gt;Pas tr&#232;s logique n'est-ce pas !&lt;/p&gt;
&lt;p&gt;Une seconde erreur s'est gliss&#233;e... Si, si ! &lt;br /&gt;
Elle corrige notre premi&#232;re erreur ! Oh !&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Pourquoi (bis) ?&lt;/strong&gt;&lt;br /&gt;
La seconde erreur (si cela en est une) a &#233;t&#233; d'effectuer la commande &lt;strong&gt;cvs import&lt;/strong&gt; en &#233;tant dans le r&#233;pertoire :&lt;br /&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt; ~/mondossiercvs/mon_produit$&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Nous avons enregistr&#233; uniquement le fichier : &lt;br /&gt;
&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;premier_fichier&lt;/code&gt; &lt;br /&gt; dans la base cvs, et non pas le r&#233;pertoire : &lt;br /&gt;
&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;mon_produit&lt;/code&gt; contenant &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;mon_fichier&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Ceci dit, le nom de notre produit a &#233;t&#233; founi lors de la commande d'importation telle que : &lt;br /&gt;
&lt;i&gt;yvo@raclette : /mondossiercvs/mon_produit$ cvs import -m &#034;Enregistrement de Super Produit dans le cvs&#034; &lt;strong&gt;SuperProduit&lt;/strong&gt; Recup V0&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;La preuve par l'exemple :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;yvo@raclette:~/mondossiercvs$ cvs checkout SuperProduit cvs checkout: Updating SuperProduit U SuperProduit/premier_fichier yvo@raclette:~/mondossiercvs$ ls mon_produit SuperProduit yvo@raclette:~/mondossiercvs$ cd mon_produit/ yvo@raclette:~/mondossiercvs/mon_produit$ ls premier_fichier yvo@raclette:~/mondossiercvs/mon_produit$ cd ../ yvo@raclette:~/mondossiercvs$ ls mon_produit SuperProduit yvo@raclette:~/mondossiercvs$ cd SuperProduit/ yvo@raclette:~/mondossiercvs/SuperProduit$ ls CVS premier_fichier yvo@raclette:~/mondossiercvs/SuperProduit$ cd ../ yvo@raclette:~/mondossiercvs$ ls mon_produit SuperProduit yvo@raclette:~/mondossiercvs$ &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt; &lt;p&gt;Nous pouvons donc supprimer le r&#233;pertoire mon_produit qui ne sert plus &#224; rien ! Hop :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;yvo@raclette:~/mondossiercvs$ rm -rf mon_produit/ yvo@raclette:~/mondossiercvs$&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt; &lt;h2 class=&#034;spip&#034;&gt;Cvs Log&lt;/h2&gt;
&lt;p&gt;Ex&#233;cutons la commande &lt;strong&gt;cvs log&lt;/strong&gt; :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;yvo@raclette:~$ cvs log SuperProduit cvs log: cannot open CVS/Entries for reading: No such file or directory cvs log: nothing known about SuperProduit&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt; &lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;En &#233;tant dans la bon r&#233;pertoire, c'est mieux : &lt;br /&gt;&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;yvo@raclette:~/mondossiercvs$ cvs log SuperProduit cvs log: Logging SuperProduit RCS file: /var/lib/cvs/SuperProduit/premier_fichier,v Working file: SuperProduit/premier_fichier head: 1.1 branch: 1.1.1 locks: strict access list: symbolic names: V0: 1.1.1.1 Recup: 1.1.1 keyword substitution: kv total revisions: 2; selected revisions: 2 description: ---------------------------- revision 1.1 date: 2004/03/30 20:52:20; author: yvo; state: Exp; branches: 1.1.1; Initial revision ---------------------------- revision 1.1.1.1 date: 2004/03/30 20:52:20; author: yvo; state: Exp; lines: +0 -0 Enregistrement de Super Produit dans le cvs ============================================================================= yvo@raclette:~/mondossiercvs$&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Je n'entre pas ici dans le d&#233;tails du r&#233;sultat de la commande.&lt;br /&gt;&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Travaillons et Versionnons !&lt;/h2&gt;
&lt;p&gt;C'est bien beau tout &#231;&#224;, mais l'on a du travail ! Il faut rajouter le texte &lt;i&gt;&#034;je travaille sur la deuxi&#232;me ligne&#034;&lt;/i&gt; dans notre fichier &lt;i&gt;premier_fichier&lt;/i&gt;.&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;yvo@raclette:~/mondossiercvs/SuperProduit$ echo &#034;Je travaille sur la seconde ligne&#034; &gt;&gt; premier_fichier yvo@raclette:~/mondossiercvs/SuperProduit$ cat premier_fichier premi&#232;re ligne Je travaille sur la seconde ligne yvo@raclette:~/mondossiercvs/SuperProduit$&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt; &lt;p&gt;Et comme nous sommes contents de notre travail, nous pouvons l'enregistrer dans la base cvs : &lt;br /&gt;&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;yvo@raclette:~/mondossiercvs/SuperProduit$ cvs commit -m &#034;Travail sur la seconde ligne Ok&#034; cvs commit: Examining . Checking in premier_fichier; /var/lib/cvs/SuperProduit/premier_fichier,v &lt;-- premier_fichier new revision: 1.2; previous revision: 1.1 done yvo@raclette:~/mondossiercvs/SuperProduit$&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt; &lt;p&gt;Le r&#233;sultat de la commande &lt;strong&gt;cvs commit&lt;/strong&gt; est explicit. Cvs a trouv&#233; des modifications au niveau du fichier &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;premier_fichier&lt;/code&gt; et a incr&#233;ment&#233; le num&#233;ro de version.&lt;/p&gt;
&lt;p&gt;Comme pour la commande &lt;strong&gt;cvs import&lt;/strong&gt;, l'option &lt;strong&gt;-m&lt;/strong&gt; a permis de donner une description pour cette mise &#224; jour.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;CVS log (bis), apr&#232;s travail&lt;/h2&gt;
&lt;p&gt;Re-ex&#233;cutons la commande &lt;strong&gt;cvs log&lt;/strong&gt; apr&#232;s le &lt;strong&gt;cvs commit&lt;/strong&gt; :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;yvo@raclette:~/mondossiercvs$ cvs log SuperProduit/ cvs log: Logging SuperProduit RCS file: /var/lib/cvs/SuperProduit/premier_fichier,v Working file: SuperProduit/premier_fichier head: 1.2 branch: locks: strict access list: symbolic names: V0: 1.1.1.1 Recup: 1.1.1 keyword substitution: kv total revisions: 3; selected revisions: 3 description: ---------------------------- revision 1.2 date: 2004/03/30 21:42:40; author: yvo; state: Exp; lines: +1 -1 Travail sur la seconde ligne Ok ---------------------------- revision 1.1 date: 2004/03/30 20:52:20; author: yvo; state: Exp; branches: 1.1.1; Initial revision ---------------------------- revision 1.1.1.1 date: 2004/03/30 20:52:20; author: yvo; state: Exp; lines: +0 -0 Enregistrement de Super Produit dans le cvs =============================================================================&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt; &lt;p&gt;Nous constatons que nous sommes toujours dans la m&#234;me branche nomm&#233;e &lt;strong&gt;Recup&lt;/strong&gt; avec sa version &lt;strong&gt;V0&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;De plus, par rapport au premier &lt;strong&gt;cvs log&lt;/strong&gt;, un paragraphe est ajout&#233; : &lt;strong&gt;revision 1.2&lt;/strong&gt;. Il reprend bien la description donn&#233;e &#224; l'aide de l'option &lt;strong&gt;-m&lt;/strong&gt;.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;CVS Status&lt;/h2&gt;
&lt;p&gt;La commande &lt;strong&gt;cvs status&lt;/strong&gt; est utile pour voir l'&#233;tat d'un fichier local par rapport &#224; un fichier distant.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Exemple&lt;/strong&gt; &lt;br /&gt;&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;yvo@raclette:~/mondossiercvs/SuperProduit$ cvs status premier_fichier =================================================================== File: premier_fichier Status: Up-to-date Working revision: 1.2 Tue Mar 30 21:40:40 2004 Repository revision: 1.2 /var/lib/cvs/SuperProduit/premier_fichier,v Sticky Tag: (none) Sticky Date: (none) Sticky Options: (none) yvo@raclette:~/mondossiercvs/SuperProduit$&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt; &lt;p&gt;Le status est ici &lt;strong&gt;Up-to-date&lt;/strong&gt;, aucune modification est pr&#233;sente entre le fichier &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;premier_fichier&lt;/code&gt; local et le fichier &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;premier_fichier&lt;/code&gt; du serveur.&lt;/p&gt;
&lt;p&gt;Modifions maintenant ce fichier : &lt;br /&gt;&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;yvo@raclette:~/mondossiercvs/SuperProduit$ echo &#034;Troisi&#232;me ligne&#034; &gt;&gt; premier_fichier&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt; &lt;p&gt;puis relan&#231;ons &lt;strong&gt;cvs status&lt;/strong&gt; : &lt;br /&gt;&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;yvo@raclette:~/mondossiercvs/SuperProduit$ cvs status premier_fichier =================================================================== File: premier_fichier Status: Locally Modified Working revision: 1.2 Tue Mar 30 21:40:40 2004 Repository revision: 1.2 /var/lib/cvs/SuperProduit/premier_fichier,v Sticky Tag: (none) Sticky Date: (none) Sticky Options: (none) yvo@raclette:~/mondossiercvs/SuperProduit$ &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt; &lt;p&gt;Le fichier est maintenant dans le statut &lt;strong&gt;Locally Modified&lt;/strong&gt;, soit en fran&#231;ais &lt;strong&gt;modifi&#233; localement&lt;/strong&gt;. Logique non ? ;-)&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Cvs diff&lt;/h2&gt;
&lt;p&gt; &lt;br /&gt;
Comme le cvs status nous indique une diff&#233;rence, nous souhaitons la voir plus pr&#233;cis&#233;ment : &lt;br /&gt;&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;yvo@raclette:~/mondossiercvs/SuperProduit$ cvs diff -r 1.2 premier_fichier Index: premier_fichier =================================================================== RCS file: /var/lib/cvs/SuperProduit/premier_fichier,v retrieving revision 1.2 diff -r1.2 premier_fichier 2a3 &gt; Troisi&#232;me ligne yvo@raclette:~/mondossiercvs/SuperProduit$&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt; &lt;p&gt;&lt;br /&gt;
Nous voyons donc que la diff&#233;rence entre les deux fichiers se situe au niveau de la ligne 2-3 avec pour changement : &lt;br /&gt;
&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&gt; Troisi&#232;me ligne&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Cr&#233;ation d'un patch&lt;/strong&gt; &lt;br /&gt;&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;yvo@raclette:~/mondossiercvs$ cvs diff -u -r1.2 SuperProduit cvs diff: Diffing SuperProduit Index: SuperProduit/premier_fichier =================================================================== RCS file: /var/lib/cvs/SuperProduit/premier_fichier,v retrieving revision 1.2 diff -u -r1.2 premier_fichier --- a/SuperProduit/premier_fichier 30 Mar 2004 21:42:40 -0000 1.2 +++ b/SuperProduit/premier_fichier 30 Mar 2004 21:56:12 -0000 @@ -1,2 +1,3 @@ premi&#232;re ligne Je travaille sur la seconde ligne +Troisi&#232;me ligne yvo@raclette:~/mondossiercvs$&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt; &lt;h2 class=&#034;spip&#034;&gt;Cvs update&lt;/h2&gt;
&lt;p&gt;Imaginons maintenant que nous sommes pas seuls &#224; travailler sur SuperProduit. Des modifications &#224; premier_fichier peuvent appara&#238;tre, il ne faut donc pas trop tarder &#224; faire notre commit. &lt;br /&gt;
Mais au lieu de se heurter &#224; des probl&#232;mes possibles lors du commit (votre coll&#232;gue a modifi&#233; la m&#234;me ligne), il est bon de mettre &#224; jour notre fichier localement. &lt;br /&gt;
Cette mise &#224; jour n'efface pas le travail que l'on a fait depuis le dernier commit ou checkout (ici, le travail en question est d'avoir rajout&#233; la troisi&#232;me ligne). Si toutefois un coll&#232;gue a travaill&#233; sur le fichier, cela est mise &#224; jour dans notre r&#233;pertoire local.&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;yvo@raclette:~/mondossiercvs/SuperProduit$ cvs update cvs update: Updating . M premier_fichier yvo@raclette:~/mondossiercvs/SuperProduit$ &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;br /&gt;
Apparement, pas de modification effectu&#233;e par un coll&#232;gue ! ;-)&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Stop !&lt;/h2&gt;
&lt;p&gt; &lt;br /&gt;
Nous nous arr&#234;tons l&#224; pour cette approche pas &#224; pas de CVS. Vous trouverez d'autres Howto plus complets sur le web tels que :&lt;/p&gt;
&lt;p&gt;- &lt;a href=&#034;http://www.idealx.org/doc/cvs.fr.html&#034;&gt;&lt;br class='autobr' /&gt;
http://www.idealx.org/doc/cvs.fr.html&lt;/a&gt;&lt;br /&gt; - &lt;a href=&#034;http://www.loria.fr/cgi-bin/molli/wilma.cgi/doc&#034;&gt;&lt;br class='autobr' /&gt;
http://www.loria.fr/cgi-bin/molli/wilma.cgi/doc&lt;/a&gt; &lt;br /&gt;&lt;/p&gt;
&lt;p&gt;Le site officiel est &lt;a href=&#034;http://www.cvshome.org/&#034;&gt; http://www.cvshome.org/&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
	<item xml:lang="fr">
		<title>3- D&#233;couverte de CVS</title>
		<link>https://clx.asso.fr/spip/?3-Decouverte-de-CVS</link>
		<guid isPermaLink="true">https://clx.asso.fr/spip/?3-Decouverte-de-CVS</guid>
		<dc:date>2004-04-19T12:45:46Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Yvonnick Esnault</dc:creator>



		<description>&lt;p&gt;CVS est le gestionnaire de version de fichiers le plus r&#233;pandu. Voici une installation pas &#224; pas, puis une introduction aux commandes de bases.&lt;/p&gt;

-
&lt;a href="https://clx.asso.fr/spip/?-Decouverte-de-CVS-" rel="directory"&gt;D&#233;couverte de CVS&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;CVS est le gestionnaire de version de fichiers le plus r&#233;pandu. Voici une installation pas &#224; pas, puis une introduction aux commandes de bases.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;h2 class=&#034;spip&#034;&gt;R&#233;cup&#233;ration de SuperProduit&lt;/h2&gt;
&lt;p&gt;La r&#233;cup&#233;ration de SuperProduit s'effectue &#224; l'aide de la commande : &lt;strong&gt;cvs checkout &lt;monproduit&gt;&lt;/strong&gt;. &lt;br /&gt; &lt;br /&gt;&lt;/p&gt;
&lt;p&gt;Dans mes manipulations ci-dessus, une erreur se situe au niveau de la commande : &lt;br /&gt; - &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;$mkdir mon_produit&lt;/code&gt;&lt;br class='autobr' /&gt;
et au niveau de ma r&#233;flexion sur le nom de mon produit...&lt;br class='autobr' /&gt;
&lt;i&gt;Notre produit s'apellera &lt;i&gt;SuperProduit&lt;/i&gt; &lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Pourquoi ?&lt;/strong&gt;&lt;br /&gt;
Nous avons d&#233;cid&#233; d'appeler le produit &lt;i&gt;SuperProduit&lt;/i&gt;, mais nous lui avons donner le r&#233;pertoire &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;mon_produit&lt;/code&gt; &lt;br /&gt;&lt;/p&gt;
&lt;p&gt;Pas tr&#232;s logique n'est-ce pas !&lt;/p&gt;
&lt;p&gt;Une seconde erreur s'est gliss&#233;e... Si, si ! &lt;br /&gt;
Elle corrige notre premi&#232;re erreur ! Oh !&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Pourquoi (bis) ?&lt;/strong&gt;&lt;br /&gt;
La seconde erreur (si cela en est une) a &#233;t&#233; d'effectuer la commande &lt;strong&gt;cvs import&lt;/strong&gt; en &#233;tant dans le r&#233;pertoire :&lt;br /&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt; ~/mondossiercvs/mon_produit$&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Nous avons enregistr&#233; uniquement le fichier : &lt;br /&gt;
&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;premier_fichier&lt;/code&gt; &lt;br /&gt; dans la base cvs, et non pas le r&#233;pertoire : &lt;br /&gt;
&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;mon_produit&lt;/code&gt; contenant &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;mon_fichier&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Ceci dit, le nom de notre produit a &#233;t&#233; founi lors de la commande d'importation telle que : &lt;br /&gt;
&lt;i&gt;yvo@raclette : /mondossiercvs/mon_produit$ cvs import -m &#034;Enregistrement de Super Produit dans le cvs&#034; &lt;strong&gt;SuperProduit&lt;/strong&gt; Recup V0&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;La preuve par l'exemple :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;yvo@raclette:~/mondossiercvs$ cvs checkout SuperProduit cvs checkout: Updating SuperProduit U SuperProduit/premier_fichier yvo@raclette:~/mondossiercvs$ ls mon_produit SuperProduit yvo@raclette:~/mondossiercvs$ cd mon_produit/ yvo@raclette:~/mondossiercvs/mon_produit$ ls premier_fichier yvo@raclette:~/mondossiercvs/mon_produit$ cd ../ yvo@raclette:~/mondossiercvs$ ls mon_produit SuperProduit yvo@raclette:~/mondossiercvs$ cd SuperProduit/ yvo@raclette:~/mondossiercvs/SuperProduit$ ls CVS premier_fichier yvo@raclette:~/mondossiercvs/SuperProduit$ cd ../ yvo@raclette:~/mondossiercvs$ ls mon_produit SuperProduit yvo@raclette:~/mondossiercvs$ &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt; &lt;p&gt;Nous pouvons donc supprimer le r&#233;pertoire mon_produit qui ne sert plus &#224; rien ! Hop :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;yvo@raclette:~/mondossiercvs$ rm -rf mon_produit/ yvo@raclette:~/mondossiercvs$&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
	<item xml:lang="fr">
		<title>2- D&#233;couverte de CVS</title>
		<link>https://clx.asso.fr/spip/?2-Decouverte-de-CVS</link>
		<guid isPermaLink="true">https://clx.asso.fr/spip/?2-Decouverte-de-CVS</guid>
		<dc:date>2004-04-19T12:45:35Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Yvonnick Esnault</dc:creator>



		<description>&lt;p&gt;CVS est le gestionnaire de version de fichiers le plus r&#233;pandu. Voici une installation pas &#224; pas sur une debian, puis une introduction aux commandes de bases.&lt;/p&gt;

-
&lt;a href="https://clx.asso.fr/spip/?-Decouverte-de-CVS-" rel="directory"&gt;D&#233;couverte de CVS&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;CVS est le gestionnaire de version de fichiers le plus r&#233;pandu. Voici une installation pas &#224; pas sur une debian, puis une introduction aux commandes de bases.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;h2 class=&#034;spip&#034;&gt;Cr&#233;ation de la base&lt;/h2&gt;
&lt;p&gt;Une fois la variable &lt;strong&gt;CVSROOT&lt;/strong&gt; renseign&#233;e, nous pouvons cr&#233;er la base telle que : &lt;br /&gt;
&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;yvo@raclette:~/mondossiercvs$ cvs init&lt;/code&gt;
&lt;br /&gt;
Cette commande cr&#233;e les fichiers d'administration de la base dans le r&#233;pertoire &lt;strong&gt;CVSROOT&lt;/strong&gt; (ici &lt;i&gt;/var/lib/cvs&lt;/i&gt;). &lt;br /&gt;&lt;/p&gt;
&lt;p&gt;(FIXME : Debian a d&#233;j&#224; fait ce travail &#224; notre place ?)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Notre produit&lt;/strong&gt; &lt;br /&gt;
Dans cette article, il nous faut un produit avec lequel cvs sera utilis&#233;. Notre produit s'apellera &lt;i&gt;SuperProduit&lt;/i&gt; et sera cr&#233;&#233; par &lt;i&gt;yvo&lt;/i&gt; dans le r&#233;pertoire : &lt;br /&gt;
&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/mondossiercvs/mon_produit&lt;/code&gt; &lt;br /&gt;
pour la premi&#232;re fois. Ce produit comporte un fichier nomm&#233; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;premier_fichier&lt;/code&gt; dans lequel une ligne est inscrite : &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;premi&#232;re ligne&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Plus clairement, cela donne : &lt;br /&gt;&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;yvo@raclette:~/mondossiercvs$ mkdir mon_produit yvo@raclette:~/mondossiercvs$ cd mon_produit yvo@raclette:~/mondossiercvs/mon_produit$ echo &#034;premi&#232;re ligne&#034; &gt; premier_fichier yvo@raclette:~/mondossiercvs/mon_produit$ cat premier_fichier premi&#232;re ligne yvo@raclette:~/mondossiercvs/mon_produit$&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Enregistrement de notre produit dans la base CVS&lt;/h2&gt;
&lt;p&gt;Notre produit est cr&#233;&#233; dans notre r&#233;pertoire local, mais n'est pas encore inscrit dans la base cvs.&lt;/p&gt;
&lt;p&gt;Cette inscription est un &lt;i&gt;import&lt;/i&gt; : nous importons des fichiers de notre r&#233;pertoire local sur le serveur.&lt;/p&gt;
&lt;p&gt;La commande est : &lt;br /&gt;&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;yvo@raclette:~/mondossiercvs/mon_produit$ cvs import -m &#034;Enregistrement de Super Produit dans le cvs&#034; SuperProduit Recup V0 N SuperProduit/premier_fichier No conflicts created by this import&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;br /&gt;
Visiblement, il n'y a pas eu de probl&#232;me lors de l'import.&lt;/p&gt;
&lt;p&gt;L'option &lt;strong&gt;-m&lt;/strong&gt; est suivie ici de &lt;i&gt;&#034;Enregistrement de Super Produit dans le cvs&#034;&lt;/i&gt;. Cette option permet de donner un message de description pour la version. Si &lt;strong&gt;-m&lt;/strong&gt; n'est pas renseign&#233;e, un &#233;diteur de texte se lance.&lt;/p&gt;
&lt;p&gt;L'option &lt;strong&gt;Recup&lt;/strong&gt; est le nom de la branche. &lt;br /&gt;
L'option &lt;strong&gt;V0&lt;/strong&gt; est le nom de version.&lt;/p&gt;
&lt;p&gt;Je n'explique pas plus ces options ici, vous comprendrez mieux avec la commande &lt;strong&gt;cvs log&lt;/strong&gt; dans les articles suivants... &lt;br /&gt;&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
	<item xml:lang="fr">
		<title>1- D&#233;couverte de CVS</title>
		<link>https://clx.asso.fr/spip/?1-Decouverte-de-CVS</link>
		<guid isPermaLink="true">https://clx.asso.fr/spip/?1-Decouverte-de-CVS</guid>
		<dc:date>2004-04-19T12:45:21Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Yvonnick Esnault</dc:creator>



		<description>&lt;p&gt;CVS est le gestionnaire de version de fichiers le plus r&#233;pandu. Voici une installation pas &#224; pas, puis une introduction aux commandes de bases.&lt;/p&gt;

-
&lt;a href="https://clx.asso.fr/spip/?-Decouverte-de-CVS-" rel="directory"&gt;D&#233;couverte de CVS&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;CVS est le gestionnaire de version de fichiers le plus r&#233;pandu. Voici une installation pas &#224; pas, puis une introduction aux commandes de bases.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;h2 class=&#034;spip&#034;&gt;Installation&lt;/h2&gt;
&lt;p&gt;L'installation &#224; partir du paquet debian est tr&#232;s simple :&lt;br /&gt;
&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;#apt-get install cvs&lt;/code&gt; &lt;br /&gt;
Il nous est pos&#233; deux questions &#224; l'installation :&lt;/p&gt;
&lt;p&gt; - &#171; Veuillez indiquer la liste des r&#233;pertoires qui sont &#224; la racine de vos entrep&#244;ts... &#187;. Par d&#233;faut c'est &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/var/lib/cvs&lt;/code&gt;. On garde la valeur par d&#233;faut.&lt;br /&gt;&lt;/p&gt;
&lt;p&gt; - Une seconde question est pos&#233;e et semble plus compliqu&#233;e : &#171; Le pserver CVS est un m&#233;canisme client-serveur qui peut &#234;tre utilis&#233; par CVS ... Faut-il activer le pserver CVS ? &#187;. Ici, tout d&#233;pend de la m&#233;thode d'acc&#232;s &#224; la base choisie apr&#232;s. C'est peut-&#234;tre mieux de r&#233;pondre &lt;i&gt;oui&lt;/i&gt; pour tester ce mode d'acc&#232;s. &lt;br /&gt;&lt;/p&gt;
&lt;p&gt;L'installation a bien cr&#233;&#233; le r&#233;pertoire &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/var/lib/cvs&lt;/code&gt;, d'ailleurs : &lt;br /&gt;&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;# ls /var/lib/cvs/ CVSROOT&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt; &lt;p&gt;&lt;br /&gt;
Il est conseill&#233; de ne pas toucher directement aux fichiers cvs dans ce r&#233;pertoire. &lt;br /&gt;&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Permissions&lt;/h2&gt;
&lt;p&gt;Tous les fichiers qui seront soumis au versionnement seront donc dans le r&#233;pertoire &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/var/liv/cvs&lt;/code&gt;. Il faut donc que tous les utilisateurs de cvs ait le droit de modifier les fichiers.&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;De plus, nous ramarquons que : &lt;br /&gt;&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;# ls -la /var/lib/cvs/ total 12 drwxrwsr-x 3 root src 4096 2004-03-30 21:33 . drwxr-xr-x 39 root root 4096 2004-03-30 21:33 .. drwxrwsr-x 3 root src 4096 2004-03-30 21:33 CVSROOT&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt; &lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;Il faut donc rajouter les personnes utilisant cvs au groupe cvs tel que : &lt;br /&gt;&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;# sudo adduser yvo src Ajout de l'utilisateur yvo au groupe src... Fait.&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Notre r&#233;pertoire local&lt;/strong&gt; &lt;br /&gt;
Commen&#231;ons d'abord &#224; cr&#233;er un r&#233;pertoire dans notre dossier personnel o&#249; nous mettrons notre copie de travail. C'est dans ce r&#233;pertoire que nous travaillerons sur nos projets. &lt;br /&gt;&lt;/p&gt;
&lt;p&gt;Pour &#234;tre clair, j'indique toutes mes commandes : &lt;br /&gt;&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;yvo@raclette:~$ cd /home/yvo/ yvo@raclette:~$ mkdir mondossiercvs yvo@raclette:~$ cd mondossiercvs/ yvo@raclette:~/mondossiercvs$&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 class=&#034;spip&#034;&gt;M&#233;thodes d'acc&#232;s&lt;/h2&gt;
&lt;p&gt;Il existe plusieurs m&#233;thodes d'acc&#232;s &#224; une base cvs : &lt;br /&gt; - acc&#232;s direct. &lt;br /&gt; - mode serveur (avec pserver). &lt;br /&gt; - mode ssh. &lt;br /&gt; - mode serveur kerberos et GSSAPI, que l'on ne verra pas dans cette article. &lt;br /&gt;
&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;Sur mon serveur nomm&#233; &lt;i&gt;raclette&lt;/i&gt;, j'ai mon compte &lt;i&gt;yvo&lt;/i&gt;. La base est sur : &lt;br /&gt;
&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;yvo@raclette:~$ ls /var/lib/cvs/&lt;/code&gt;. &lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Configuration pour un acc&#232;s direct&lt;/strong&gt; &lt;br /&gt;
Notre variable d'environnement &lt;strong&gt;CVSROOT&lt;/strong&gt; s'exporte telle que : &lt;br /&gt;&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;$export CVSROOT=/var/lib/cvs&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Configuration pour un acc&#232;s pserver&lt;/strong&gt; &lt;br /&gt;
Pour l'acc&#232;s en mode pserver, il faut modifier les fichiers &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/etc/services&lt;/code&gt; et &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/etc/inetd.conf&lt;/code&gt;. Debian fait ces modifications tout seul ! &lt;br /&gt;
Fichier /etc/services : &lt;br /&gt;&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;# cat {{/etc/services}} | grep cvs cvspserver 2401/tcp # CVS client/server operations cvspserver 2401/udp&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt; &lt;p&gt;Fichier &lt;strong&gt;/etc/inetd.conf&lt;/strong&gt; : &lt;br /&gt;&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;#cat /etc/inetd.conf | grep cvs cvspserver stream tcp nowait root /usr/sbin/tcpd /usr/sbin/cvs-pserver&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt; &lt;p&gt;Notre variable s'exporte telle que : &lt;br /&gt;&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;$export CVSROOT :pserver:yvo@raclette:/var/lib/cvs&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Configuration pour un acc&#232;s ssh&lt;/strong&gt; &lt;br /&gt;
J'oublie volontairement l'acc&#232;s rsh en pr&#233;f&#233;rant le ssh.&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;$export CVSROOT :ext:yvo@raclette:/var/lib/cvs $export CVS_RSH ssh&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;C'est &#224; partir de cette variable &lt;strong&gt;CVSROOT&lt;/strong&gt; que nos commandes cvs pourront s'effectuer.
&lt;br /&gt;&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
	<item xml:lang="fr">
		<title>4- D&#233;couverte de CVS</title>
		<link>https://clx.asso.fr/spip/?4-Decouverte-de-CVS</link>
		<guid isPermaLink="true">https://clx.asso.fr/spip/?4-Decouverte-de-CVS</guid>
		<dc:date>2004-04-19T10:27:23Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Yvonnick Esnault</dc:creator>



		<description>&lt;p&gt;CVS est le gestionnaire de version de fichiers le plus r&#233;pandu. Voici une installation pas &#224; pas, puis une introduction aux commandes de bases.&lt;/p&gt;

-
&lt;a href="https://clx.asso.fr/spip/?-Decouverte-de-CVS-" rel="directory"&gt;D&#233;couverte de CVS&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;CVS est le gestionnaire de version de fichiers le plus r&#233;pandu. Voici une installation pas &#224; pas, puis une introduction aux commandes de bases.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;h2 class=&#034;spip&#034;&gt;Travaillons et Versionnons !&lt;/h2&gt;
&lt;p&gt;C'est bien beau tout &#231;&#224;, mais l'on a du travail ! Il faut rajouter le texte &lt;i&gt;&#034;je travaille sur la deuxi&#232;me ligne&#034;&lt;/i&gt; dans notre fichier &lt;i&gt;premier_fichier&lt;/i&gt;.&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;yvo@raclette:~/mondossiercvs/SuperProduit$ echo &#034;Je travaille sur la seconde ligne&#034; &gt;&gt; premier_fichier yvo@raclette:~/mondossiercvs/SuperProduit$ cat premier_fichier premi&#232;re ligne Je travaille sur la seconde ligne yvo@raclette:~/mondossiercvs/SuperProduit$&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt; &lt;p&gt;Et comme nous sommes contents de notre travail, nous pouvons l'enregistrer dans la base cvs : &lt;br /&gt;&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;yvo@raclette:~/mondossiercvs/SuperProduit$ cvs commit -m &#034;Travail sur la seconde ligne Ok&#034; cvs commit: Examining . Checking in premier_fichier; /var/lib/cvs/SuperProduit/premier_fichier,v &lt;-- premier_fichier new revision: 1.2; previous revision: 1.1 done yvo@raclette:~/mondossiercvs/SuperProduit$&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt; &lt;p&gt;Le r&#233;sultat de la commande &lt;strong&gt;cvs commit&lt;/strong&gt; est explicit. Cvs a trouv&#233; des modifications au niveau du fichier &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;premier_fichier&lt;/code&gt; et a incr&#233;ment&#233; le num&#233;ro de version.&lt;/p&gt;
&lt;p&gt;Comme pour la commande &lt;strong&gt;cvs import&lt;/strong&gt;, l'option &lt;strong&gt;-m&lt;/strong&gt; a permis de donner une description pour cette mise &#224; jour.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;CVS log, apr&#232;s travail&lt;/h2&gt;
&lt;p&gt;Re-ex&#233;cutons la commande &lt;strong&gt;cvs log&lt;/strong&gt; apr&#232;s le &lt;strong&gt;cvs commit&lt;/strong&gt; :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;yvo@raclette:~/mondossiercvs$ cvs log SuperProduit/ cvs log: Logging SuperProduit RCS file: /var/lib/cvs/SuperProduit/premier_fichier,v Working file: SuperProduit/premier_fichier head: 1.2 branch: locks: strict access list: symbolic names: V0: 1.1.1.1 Recup: 1.1.1 keyword substitution: kv total revisions: 3; selected revisions: 3 description: ---------------------------- revision 1.2 date: 2004/03/30 21:42:40; author: yvo; state: Exp; lines: +1 -1 Travail sur la seconde ligne Ok ---------------------------- revision 1.1 date: 2004/03/30 20:52:20; author: yvo; state: Exp; branches: 1.1.1; Initial revision ---------------------------- revision 1.1.1.1 date: 2004/03/30 20:52:20; author: yvo; state: Exp; lines: +0 -0 Enregistrement de Super Produit dans le cvs =============================================================================&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt; &lt;p&gt;Nous constatons que nous sommes toujours dans la m&#234;me branche nomm&#233;e &lt;strong&gt;Recup&lt;/strong&gt; avec sa version &lt;strong&gt;V0&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;De plus, par rapport au premier &lt;strong&gt;cvs log&lt;/strong&gt;, un paragraphe est ajout&#233; : &lt;strong&gt;revision 1.2&lt;/strong&gt;. Il reprend bien la description donn&#233;e &#224; l'aide de l'option &lt;strong&gt;-m&lt;/strong&gt;.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;CVS Status&lt;/h2&gt;
&lt;p&gt;La commande &lt;strong&gt;cvs status&lt;/strong&gt; est utile pour voir l'&#233;tat d'un fichier local par rapport &#224; un fichier distant.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Exemple&lt;/strong&gt; &lt;br /&gt;&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;yvo@raclette:~/mondossiercvs/SuperProduit$ cvs status premier_fichier =================================================================== File: premier_fichier Status: Up-to-date Working revision: 1.2 Tue Mar 30 21:40:40 2004 Repository revision: 1.2 /var/lib/cvs/SuperProduit/premier_fichier,v Sticky Tag: (none) Sticky Date: (none) Sticky Options: (none) yvo@raclette:~/mondossiercvs/SuperProduit$&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt; &lt;p&gt;Le status est ici &lt;strong&gt;Up-to-date&lt;/strong&gt;, aucune modification est pr&#233;sente entre le fichier &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;premier_fichier&lt;/code&gt; local et le fichier &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;premier_fichier&lt;/code&gt; du serveur.&lt;/p&gt;
&lt;p&gt;Modifions maintenant ce fichier : &lt;br /&gt;&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;yvo@raclette:~/mondossiercvs/SuperProduit$ echo &#034;Troisi&#232;me ligne&#034; &gt;&gt; premier_fichier&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt; &lt;p&gt;puis relan&#231;ons &lt;strong&gt;cvs status&lt;/strong&gt; : &lt;br /&gt;&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;yvo@raclette:~/mondossiercvs/SuperProduit$ cvs status premier_fichier =================================================================== File: premier_fichier Status: Locally Modified Working revision: 1.2 Tue Mar 30 21:40:40 2004 Repository revision: 1.2 /var/lib/cvs/SuperProduit/premier_fichier,v Sticky Tag: (none) Sticky Date: (none) Sticky Options: (none) yvo@raclette:~/mondossiercvs/SuperProduit$ &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt; &lt;p&gt;Le fichier est maintenant dans le statut &lt;strong&gt;Locally Modified&lt;/strong&gt;, soit en fran&#231;ais &lt;strong&gt;modifi&#233; localement&lt;/strong&gt;. Logique non ? ;-)&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Cvs diff&lt;/h2&gt;
&lt;p&gt; &lt;br /&gt;
Comme le cvs status nous indique une diff&#233;rence, nous souhaitons la voir plus pr&#233;cis&#233;ment : &lt;br /&gt;&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;yvo@raclette:~/mondossiercvs/SuperProduit$ cvs diff -r 1.2 premier_fichier Index: premier_fichier =================================================================== RCS file: /var/lib/cvs/SuperProduit/premier_fichier,v retrieving revision 1.2 diff -r1.2 premier_fichier 2a3 &gt; Troisi&#232;me ligne yvo@raclette:~/mondossiercvs/SuperProduit$&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt; &lt;p&gt;&lt;br /&gt;
Nous voyons donc que la diff&#233;rence entre les deux fichiers se situe au niveau de la ligne 2-3 avec pour changement : &lt;br /&gt;
&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&gt; Troisi&#232;me ligne&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Cr&#233;ation d'un patch&lt;/strong&gt; &lt;br /&gt;&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;yvo@raclette:~/mondossiercvs$ cvs diff -u -r1.2 SuperProduit cvs diff: Diffing SuperProduit Index: SuperProduit/premier_fichier =================================================================== RCS file: /var/lib/cvs/SuperProduit/premier_fichier,v retrieving revision 1.2 diff -u -r1.2 premier_fichier --- a/SuperProduit/premier_fichier 30 Mar 2004 21:42:40 -0000 1.2 +++ b/SuperProduit/premier_fichier 30 Mar 2004 21:56:12 -0000 @@ -1,2 +1,3 @@ premi&#232;re ligne Je travaille sur la seconde ligne +Troisi&#232;me ligne yvo@raclette:~/mondossiercvs$&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt; &lt;h2 class=&#034;spip&#034;&gt;Cvs update&lt;/h2&gt;
&lt;p&gt;Imaginons maintenant que nous sommes pas seuls &#224; travailler sur SuperProduit. Des modifications &#224; premier_fichier peuvent appara&#238;tre, il ne faut donc pas trop tarder &#224; faire notre commit. &lt;br /&gt;
Mais au lieu de se heurter &#224; des probl&#232;mes possibles lors du commit (votre coll&#232;gue a modifi&#233; la m&#234;me ligne), il est bon de mettre &#224; jour notre fichier localement. &lt;br /&gt;
Cette mise &#224; jour n'efface pas le travail que l'on a fait depuis le dernier commit ou checkout (ici, le travail en question est d'avoir rajout&#233; la troisi&#232;me ligne). Si toutefois un coll&#232;gue a travaill&#233; sur le fichier, cela est mise &#224; jour dans notre r&#233;pertoire local.&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;yvo@raclette:~/mondossiercvs/SuperProduit$ cvs update cvs update: Updating . M premier_fichier yvo@raclette:~/mondossiercvs/SuperProduit$ &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;br /&gt;
Apparement, pas de modification effectu&#233;e par un coll&#232;gue ! ;-)&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Stop !&lt;/h2&gt;
&lt;p&gt; &lt;br /&gt;
Nous nous arr&#234;tons l&#224; pour cette approche pas &#224; pas de CVS. Vous trouverez d'autres Howto plus complets sur le web tels que :&lt;/p&gt;
&lt;p&gt;- &lt;a href=&#034;http://www.idealx.org/doc/cvs.fr.html&#034;&gt;&lt;br class='autobr' /&gt;
http://www.idealx.org/doc/cvs.fr.html&lt;/a&gt;&lt;br /&gt; - &lt;a href=&#034;http://www.loria.fr/cgi-bin/molli/wilma.cgi/doc&#034;&gt;&lt;br class='autobr' /&gt;
http://www.loria.fr/cgi-bin/molli/wilma.cgi/doc&lt;/a&gt; &lt;br /&gt;&lt;/p&gt;
&lt;p&gt;Le site officiel est &lt;a href=&#034;http://www.cvshome.org/&#034;&gt; http://www.cvshome.org/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt; - TortoiseCVS - Client graphique pour Ms Windows &lt;br /&gt; &lt;a href=&#034;http://www.tortoisecvs.org/&#034;&gt;http://www.tortoisecvs.org/ &lt;/a&gt;
&lt;br /&gt; - Guide de l'utilisateur TortoiseCvs (en fran&#231;ais) &lt;br /&gt;
&lt;a &lt;br class='autobr' /&gt;
href=&#034;http://cedric.babault.free.fr/TortoiseCVSDoc/UserGuide_fr.html#begin.whattortoisecvs&#034;&gt; http://cedric.babault.free.fr/TortoiseCVSDoc/UserGuide_fr.html &lt;/a&gt;&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
	<item xml:lang="fr">
		<title>Recompiler son noyau Linux Mandrake</title>
		<link>https://clx.asso.fr/spip/?Recompiler-son-noyau-Linux-Mandrake</link>
		<guid isPermaLink="true">https://clx.asso.fr/spip/?Recompiler-son-noyau-Linux-Mandrake</guid>
		<dc:date>2004-02-25T12:37:25Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Vincent Beuselinck</dc:creator>


		<dc:subject>Mandriva / Mageia</dc:subject>
		<dc:subject>Ordinateur Portable</dc:subject>

		<description>&lt;p&gt;Comment compiler rapidement un noyau Mandrake afin de l'adapter aux caract&#233;ristiques de sa machine ou d'un p&#233;riph&#233;rique.&lt;/p&gt;

-
&lt;a href="https://clx.asso.fr/spip/?-Installation-Administration-de-base-de-Linux-" rel="directory"&gt;Installation / Administration de base de Linux&lt;/a&gt;

/ 
&lt;a href="https://clx.asso.fr/spip/?+-Mandriva-Mageia-+" rel="tag"&gt;Mandriva / Mageia&lt;/a&gt;, 
&lt;a href="https://clx.asso.fr/spip/?+-Ordinateur-Portable-+" rel="tag"&gt;Ordinateur Portable&lt;/a&gt;

		</description>


 <content:encoded>&lt;img src='https://clx.asso.fr/spip/local/cache-vignettes/L150xH116/arton239-afc83.png?1759552845' alt='' class='spip_logo spip_logo_right' width='150' height='116' onmouseover='' onmouseout='' /&gt;
		&lt;div class='rss_chapo'&gt;&lt;p&gt;Dans &lt;a href=&#034;http://clx.anet.fr/spip/spip_redirect.php3?id_article=231&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;l'&#233;pisode pr&#233;c&#233;dent&lt;/a&gt;, nous avions install&#233; la Mandrake 9.2 sur un portable &lt;i&gt;Acer TravelMate 243&lt;/i&gt;. Celui-ci refusait obstin&#233;ment les noyaux &lt;i&gt;Mandrake&lt;/i&gt;. Le noyau de la &lt;i&gt;Fedora&lt;/i&gt; nous a sorti du p&#233;trin. N&#233;anmoins, le fonctionnement d'une distribution avec le noyau d'une autre n'est pas satisfaisant. Nous avons perdu le confortable &#171; supermount &#187;. La lecture des forums permet de cibler une cause probable : LAPIC (Local APIC avec APIC acronyme de Advanced Programmable Interrupt Controller). M&#234;me si saisir l'option nolapic au d&#233;marrage du syst&#218;me, lors de l'appaition du prompt &lt;i&gt;boot :&lt;/i&gt;, n'a rien donn&#233;e. &lt;i&gt;Mandrake&lt;/i&gt; l'inclut dans son noyau alors que la &lt;i&gt;Fedora&lt;/i&gt; l'exclut. Compilons donc un noyau sans LAPIC...&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;h2 class=&#034;spip&#034;&gt;Pr&#233;-requis&lt;/h2&gt;
&lt;p&gt;Il faut bien s&#251;r avoir install&#233; une &lt;a href=&#034;http://www.mandrakelinux.com&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;mandrake 9.2&lt;/a&gt;&lt;span class=&#034;spip_note_ref&#034;&gt; [&lt;a href=&#034;#nb3-1&#034; class=&#034;spip_note&#034; rel=&#034;appendix&#034; title=&#034;NDLR : Le principe g&#233;n&#233;ral de la compilation s'applique &#224; toutes les (&#8230;)&#034; id=&#034;nh3-1&#034;&gt;1&lt;/a&gt;]&lt;/span&gt;, conna&#238;tre le mot de passe de l'administrateur (root) et avoir acc&#232;s &#224; une console (ou une fen&#234;tre xterm). Pour illustrer nos propos, nous partons d'une session graphique KDE dans laquelle nous lan&#231;ons une console fen&#234;tr&#233;e (pour utiliser une console non graphique, appuyez simultan&#233;ment sur les touches &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;CTRL+ALT+F2&lt;/code&gt;). Dans le menu K, le sous-menu &#171; Terminaux &#187; vous donnera la liste des outils disponibles (Konsole, eterm ou xterm...). Le lancement de l'un d'eux ouvre une fen&#234;tre dans laquelle nous allons passer administrateur en tapant &lt;i&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;su -&lt;/code&gt;&lt;/i&gt; et en r&#233;pondant &#224; la demande du mot de passe administrateur.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;V&#233;rification des paquetages n&#233;cessaires :&lt;/h2&gt;
&lt;p&gt;Il faut les paquetages &lt;i&gt;gcc&lt;/i&gt; , &lt;i&gt;kernel-source&lt;/i&gt; et leurs d&#233;pendances. Dans la version 9.2 de la mandrake, gcc est fourni dans sa version 3, la ligne suivante permet de s'assurer de l'installation de gcc :&lt;/p&gt;
&lt;p&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;urpmi gcc&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;De deux choses, l'une : o&#249; le r&#233;sultat est une liste de paquetages suivie d'une demande de confirmation ou bien il sera &#233;crit &#171; tout est d&#233;j&#224; install&#233; &#187;. Dans le premier cas, il faudra donc r&#233;pondre par l'affirmative et ins&#233;rer les CD r&#233;clam&#233;s. Dans le second, vous n'avez rien &#224; faire de plus.&lt;br class='autobr' /&gt;
M&#234;me manipulation pour les sources du noyau :&lt;/p&gt;
&lt;p&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;urpmi kernel-source&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Si vous avez une version &#171; download edition &#187; de la Mandrake 9.2, &lt;i&gt;urpmi&lt;/i&gt; ne trouvera aucun paquetage nomm&#233; kernel-source, il faudra donc rechercher sur Internet et t&#233;l&#233;charger les paquetages &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;kernel-source-2.4.22-10mdk.i586.rpm&lt;/code&gt;&lt;span class=&#034;spip_note_ref&#034;&gt; [&lt;a href=&#034;#nb3-2&#034; class=&#034;spip_note&#034; rel=&#034;appendix&#034; title=&#034;ou , voir un paquetage plus r&#233;cent, si vous souhaitez b&#233;n&#233;ficier des (&#8230;)&#034; id=&#034;nh3-2&#034;&gt;2&lt;/a&gt;]&lt;/span&gt; Pour cela, le meilleur moyen est encore de consulter le site &lt;a href=&#034;http://www.rpmfind.net&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;rpmfind&lt;/a&gt; et de lancer une recherche sur &lt;i&gt;kernel-source&lt;/i&gt;, puis de pr&#233;ciser &lt;i&gt;Mandrake&lt;/i&gt; dans le champ &lt;i&gt;System&lt;/i&gt;, d&#232;s la premi&#232;re recherche termin&#233;e. Une fois t&#233;l&#233;charg&#233;, il vous faudra encore installer le paquetage. Dans la console graphique, tapez par exemple :&lt;/p&gt;
&lt;p&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;urpmi /home/user/kernel-source-2.4.22-10mdk.i586.rpm&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Remplacez &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/home/user&lt;/code&gt; par le chemin menant au fichier /home/user/kernel-source-2.4.22-10mdk.i586.rpm.&lt;/p&gt;
&lt;p&gt;L'utilitaire urpmi r&#233;cup&#233;rera &#233;ventuellement les paquetages n&#233;cessaires &#224; la compilation du noyau : automake, autoconf et consors.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Pr&#233;paration et Configuration&lt;/h2&gt;
&lt;p&gt;Allez dans le r&#233;pertoire &lt;i&gt;/usr/src/linux&lt;/i&gt; en tapant :&lt;/p&gt;
&lt;p&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;cd /usr/src/linux&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;En r&#233;alit&#233;, vous serez dans :&lt;br class='autobr' /&gt;
&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/usr/src/linux-2.4.22-10mdk&lt;/code&gt;... L&#224; o&#249; tout se passe.&lt;/p&gt;
&lt;p&gt;En effet, /usr/src/linux est un lien pointant vers /usr/src/linux-2.4.22-10mdk.&lt;/p&gt;
&lt;p&gt;Trois possibilit&#233;s vous sont offertes pour configurer notre futur noyau. &#171; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;make config&lt;/code&gt; &#187; est le moyen la plus rustique : mode texte, sans couleur, avec une succession de questions. Une version texte (interface ncurses) mais avec des couleurs et un menu d&#233;roulant se lancera via la commande &#171; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;make menuconfig&lt;/code&gt; &#187;. Enfin, une interface graphique est lanc&#233;e par la commande &#171; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;make xconfig&lt;/code&gt; &#187; (n&#233;cessite les librairies graphiques tk). Nous utiliserons ici le deuxi&#232;me moyen (texte avec menus) qui est un bon compromis entre aridit&#233; et fiabilit&#233;. Donc :&lt;/p&gt;
&lt;p&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;make menuconfig&lt;/code&gt;&lt;/p&gt;
&lt;div class='spip_document_283 spip_document spip_documents spip_document_image spip_documents_center spip_document_center spip_document_avec_legende' data-legende-len=&#034;180&#034; data-legende-lenx=&#034;xxx&#034;
&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;img src='https://clx.asso.fr/spip/local/cache-vignettes/L457xH308/compil_noyo_400x200-a87c1.png?1760211351' width='457' height='308' alt='' /&gt;
&lt;figcaption class='spip_doc_legende'&gt; &lt;div class='spip_doc_titre '&gt;&lt;strong&gt;Compilation du noyau - choix des options de compilation via make menuconfig
&lt;/strong&gt;&lt;/div&gt; &lt;div class='spip_doc_descriptif '&gt;Les options de compilations du noyau sp&#233;cifiques &#224; l'architecture sont disponibles dans cette fen&#234;tre.
&lt;/div&gt; &lt;/figcaption&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;On parcourt les menus &#224; l'aide de la touche &lt;i&gt;Tab&lt;/i&gt; (pour tabulation, &#224; c&#244;t&#233; de la touche &lt;i&gt;A&lt;/i&gt; et g&#233;n&#233;ralement repr&#233;sent&#233; par deux fl&#232;ches oppos&#233;es). La barre d'espace sert &#224; valider son choix ou &#224; cocher une case. Dans les menus, la s&#233;quence &#171; ---&gt; &#187; signifie un sous-menu. Un appui sur la barre d'espace permet de l'ouvrir. Pour chaque option (ou presque, vous aurez le choix entre 3 possibilit&#233;s, correspondantes &#224; trois caract&#232;res &#034; &#034;, * et m :
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; [ ] qui signifie &#171; non s&#233;lectionn&#233; &#187; ou d&#233;coch&#233;,
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; [*] pour une option s&#233;lectionn&#233;e donc int&#233;gr&#233;e au noyau,
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; [m] pour une option disponible en module (donc &#171; activable &#187; via la commande modprobe).&lt;/p&gt;
&lt;p&gt;En parcourant les menus et sous-menus, &#224; la recherche de notre &lt;strong&gt;LAPIC&lt;/strong&gt; que l'on soup&#231;onne de bloquer notre noyau, nous rencontrons des options que l'on sait inutiles pour notre PC portable : &lt;strong&gt;old cdrom driver&lt;/strong&gt;, &lt;strong&gt;IEEE 1394&lt;/strong&gt; (pas de connecteur firewire sur cette machine), &lt;strong&gt;IRDA&lt;/strong&gt; (pas d'infrarouge non plus)... &lt;br class='autobr' /&gt;
Nous les d&#233;cochons. Assurez-vous que vous n'avez pas besoin (ou que l'un des p&#233;riph&#233;riques dont est &#233;quip&#233; votre PC n'en a pas besoin) de l'option que vous venez de d&#233;sactiver. Dans le doute, laissez l'option telle quelle (surtout lorsqu'il s'agit d'un module). En effet, le syst&#232;me ne le chargera en m&#233;moire &#224; la demande.&lt;/p&gt;
&lt;p&gt;Enfin, nous trouvons l'option tant recherch&#233;e, LAPIC, int&#233;gr&#233;e au noyau. D&#233;cochons-la.&lt;/p&gt;
&lt;div class='spip_document_285 spip_document spip_documents spip_document_image spip_documents_center spip_document_center spip_document_avec_legende' data-legende-len=&#034;163&#034; data-legende-lenx=&#034;xxx&#034;
&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;img src='https://clx.asso.fr/spip/local/cache-vignettes/L429xH77/compil_noyo_details-ee217.png?1760211351' width='429' height='77' alt='' /&gt;
&lt;figcaption class='spip_doc_legende'&gt; &lt;div class='spip_doc_titre '&gt;&lt;strong&gt;D&#233;tail des options de compilation du noyau Linux
&lt;/strong&gt;&lt;/div&gt; &lt;div class='spip_doc_descriptif '&gt;Voici la fameuse option Local APIC qui bloque le lancement du syst&#218;me avec l'ordinateur portable TravalMate 243.
&lt;/div&gt; &lt;/figcaption&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;R&#233;sum&#233; de la configuration :&lt;/p&gt;
&lt;p&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; &lt;strong&gt;Processor Type and Feature&lt;/strong&gt; -&gt; Local APIC (on d&#233;coche pour la compatibilit&#233; avec l'&lt;i&gt;ACER&lt;/i&gt;) ;
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; &lt;strong&gt;General Type&lt;/strong&gt; -&gt; aucun changement ;
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; &lt;strong&gt;Memory Tech. Device&lt;/strong&gt; -&gt; aucun changement ;
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; &lt;strong&gt;Parallel Port&lt;/strong&gt; -&gt; aucun changement ;
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; &lt;strong&gt;Plug and Play configuration&lt;/strong&gt; -&gt; aucun changement ;
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; &lt;strong&gt;Block Device&lt;/strong&gt; -&gt; aucun changement ;
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; &lt;strong&gt;RAID&lt;/strong&gt; -&gt; aucun changement ;
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; &lt;strong&gt;Networking&lt;/strong&gt; -&gt; aucun changement ;
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; &lt;strong&gt;Telephony&lt;/strong&gt; -&gt; aucun changement ;
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; &lt;strong&gt;ATA/IDE&lt;/strong&gt; -&gt; aucun changement ;
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; &lt;strong&gt;SCSI&lt;/strong&gt; -&gt; aucun changement (Ne l'enlevez pas. Certains p&#233;riph&#233;riques IDE peuvent &#234;tre &#233;mul&#233;s en SCSI. C'est le cas du combo graveur CD/ lecteur DVD de ce portable) ;
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; &lt;strong&gt;Fusion MPT&lt;/strong&gt; -&gt; aucun changement ;
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; &lt;strong&gt;IEEE 1394&lt;/strong&gt; -&gt; d&#233;coch&#233; car ce portable n'a pas de connecteur firewire ;
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; &lt;strong&gt;IRDA&lt;/strong&gt; -&gt; d&#233;coch&#233; car ce portable n'a pas de port infrarouge ;
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; &lt;strong&gt;old CDROM no ide/scsi&lt;/strong&gt; -&gt; d&#233;coch&#233;.&lt;/p&gt;
&lt;p&gt;Par d&#233;faut, le noyau sera nomm&#233; 2.4.22-10.mdkcustom. Vous pouvez modifier le nom du noyau en &#233;ditant le fichier &lt;i&gt;Makefile&lt;/i&gt; du r&#233;pertoire &lt;i&gt;/usr/scr/linux&lt;/i&gt;. Dans les toutes premi&#232;res lignes de ce fichier, vous remarquerez la ligne &lt;i&gt;EXTRAVERSION=&lt;/i&gt; qui d&#233;signe le num&#233;ro de version personnel du noyau. Dans notre exemple, EXTRAVERSION est &#233;gale &#224; &lt;i&gt;-10.mdkcustom&lt;/i&gt;.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;La compilation&lt;/h2&gt;
&lt;p&gt;Elle peut se faire en une ou plusieurs commandes.
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; En une seule fois :&lt;/p&gt;
&lt;p&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;make dep clean bzImage modules modules_install install&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; En 6 commandes :&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='6' class='spip_cadre spip_cadre_block' dir='ltr'&gt;make dep make clean make bzImage make modules make modules_install make install&lt;/textarea&gt;
&lt;p&gt;(Attention au &lt;i&gt;i&lt;/i&gt; de &lt;i&gt;bzImage&lt;/i&gt;, il est en majuscule !)&lt;/p&gt;
&lt;p&gt;Vous pouvez bien s&#251;r choisir une possibilit&#233; interm&#233;diaire, le tout &#233;tant de respecter l'ordre de compilation.&lt;/p&gt;
&lt;p&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;dep&lt;/code&gt; recherche des d&#233;pendances est tr&#232;s court&lt;br class='manualbr' /&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;clean&lt;/code&gt; nettoie les r&#233;sidus &#233;ventuels d'une pr&#233;c&#233;dente compilation (rapide aussi)&lt;br class='manualbr' /&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;bzImage&lt;/code&gt; compile le noyau (comptez un peu plus de temps)&lt;br class='manualbr' /&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;modules&lt;/code&gt; compile les modules (&#233;tape la plus longue)&lt;br class='manualbr' /&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;modules_install&lt;/code&gt; stocke les modules dans le r&#233;pertoire &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/lib/modules&lt;/code&gt; (ils &#233;taient stock&#233;s dans un r&#233;pertoire temporaire de vos sources)&lt;br class='manualbr' /&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;install&lt;/code&gt; copie les fichiers, dont le noyau, dans le r&#233;pertoire &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/boot&lt;/code&gt;, met &#224; jour les liens symboliques de ce m&#234;me r&#233;pertoire, cr&#233;e le fichier &lt;i&gt;initrd&lt;/i&gt; et ajoute l'entr&#233;e correspondant au noyau dans &lt;i&gt;/etc/lilo.conf&lt;/i&gt;.&lt;/p&gt;
&lt;p&gt;Contr&#244;lez que la copie et la mise &#224; jour des liens dans le r&#233;pertoire &lt;i&gt;/boot&lt;/i&gt; ait &#233;t&#233; correctement effectu&#233;e. Vous devez en effet y retrouver les fichiers suivants : &lt;i&gt;vmlinuz&lt;/i&gt;, &lt;i&gt;initrd (.img)&lt;/i&gt;, &lt;i&gt;config&lt;/i&gt;, &lt;i&gt;system.map&lt;/i&gt;. Tous ces noms doivent &#234;tre suivis du num&#233;ro de version personnalis&#233; : 2.4.22-10mdkcustom.&lt;/p&gt;
&lt;p&gt;Il faut ensuite v&#233;rifier le contenu du chargeur de d&#233;marrage Lilo (ou Grub si vous l'avez pr&#233;f&#233;r&#233;) :&lt;br class='autobr' /&gt;
&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;cat /etc/lilo.conf&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;V&#233;rifiez que vous avez bien une entr&#233;e 2.4.22-10mdkcustom identique &#224; l'entr&#233;e d'origine (2.4.22-10mdk), &#224; l'exception du num&#233;ro de version pour les lignes suivantes : image, label et initrd.&lt;br class='autobr' /&gt;
Ne supprimez pas les lignes correspondantes &#224; l'ancienne version du noyau. Ce dernier sera n&#233;cessaire si votre noyau personnalis&#233; ne vous permet pas de lancer Linux. C'est le cas par exemple si vous avez oubli&#233; de compiler un module indispensable au d&#233;marrage de votre machine ou si le noyau est d&#233;faillant.&lt;br class='autobr' /&gt;
Testez, c'est fini.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;R&#233;tablir l'ancien noyau&lt;/h2&gt;
&lt;p&gt;Dans le cas o&#249; cela ne fonctionnerait pas, vous devez remettre par d&#233;faut l'ancien noyau au d&#233;marrage :&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre spip_cadre_block' dir='ltr'&gt;cd /boot ls -la&lt;/textarea&gt;
&lt;p&gt;Vous voyez des liens de &lt;i&gt;vmlinuz&lt;/i&gt; vers &lt;i&gt;vmlinuz-votreversion&lt;/i&gt;, &lt;i&gt;system.map&lt;/i&gt; vers &lt;i&gt;system.map-votreversion&lt;/i&gt;, etc. Il faut r&#233;tablir les liens vers l'ancien noyau. Saisissez alors :&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='3' class='spip_cadre spip_cadre_block' dir='ltr'&gt;ln -s initrd-2.4.22-10mdk.img initrd.img ln -s system.map-2.4.22-10mdk system.map ln -s vmlinuz-2.4.22-10mdk vmlinuz&lt;/textarea&gt;
&lt;p&gt;Les liens kernel.h et config ne devraient pas avoir &#233;t&#233; chang&#233;s mais v&#233;rifiez quand m&#234;me et le cas &#233;ch&#233;ant, modifiez-les.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Pour aller plus loin...&lt;/h2&gt;
&lt;p&gt;On pourrait en profiter pour patcher le noyau 2.4.22 en 2.4.24 ou m&#234;me passer sur un noyau 2.6, apr&#232;s avoir r&#233;cup&#233;r&#233; les sources sur &lt;a href=&#034;http://www.kernel.org&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;kernel.org&lt;/a&gt;. Pour le moment, j'y ai renonc&#233; : utiliser les patchs 2.4, impose de r&#233;pondre &#224; plein de questions plus ou moins complexes (Mandrake propose d&#233;j&#224; des kernel hyperpatch&#233;s). Quant au noyau 2.6.1, il aboutit dans mon cas &#224; un &lt;i&gt;kernel panic&lt;/i&gt; (message d'erreur du noyau) parce qu'il n'a pas su monter les partitions ext3&lt;span class=&#034;spip_note_ref&#034;&gt; [&lt;a href=&#034;#nb3-3&#034; class=&#034;spip_note&#034; rel=&#034;appendix&#034; title=&#034;NDLR : il ne suffit pas d'installer les sources du noyau 2.6, il faut (&#8230;)&#034; id=&#034;nh3-3&#034;&gt;3&lt;/a&gt;]&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;Quelques liens :
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; Un article du Linux Journal consacr&#233; &#224; la compilation du noyau Linux &lt;a href=&#034;http://www.linuxfocus.org/Francais/July2002/article252.shtml&#034; class=&#034;spip_url spip_out&#034; rel=&#034;external&#034;&gt;http://www.linuxfocus.org/Francais/...&lt;/a&gt;,
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; des &#233;changes tr&#232;s int&#233;ressants sur APIC et LAPIC &lt;a href=&#034;http://linuxfr.org/~redfish/2724.html&#034; class=&#034;spip_url spip_out&#034; rel=&#034;external&#034;&gt;http://linuxfr.org/~redfish/2724.html&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;
		&lt;hr /&gt;
		&lt;div class='rss_notes'&gt;&lt;div id=&#034;nb3-1&#034;&gt;
&lt;p&gt;&lt;span class=&#034;spip_note_ref&#034;&gt;[&lt;a href=&#034;#nh3-1&#034; class=&#034;spip_note&#034; title=&#034;Notes 3-1&#034; rev=&#034;appendix&#034;&gt;1&lt;/a&gt;] &lt;/span&gt;NDLR : Le principe g&#233;n&#233;ral de la compilation s'applique &#224; toutes les distributions linux ; la m&#233;thode est donc facilement transposable.&lt;/p&gt;
&lt;/div&gt;&lt;div id=&#034;nb3-2&#034;&gt;
&lt;p&gt;&lt;span class=&#034;spip_note_ref&#034;&gt;[&lt;a href=&#034;#nh3-2&#034; class=&#034;spip_note&#034; title=&#034;Notes 3-2&#034; rev=&#034;appendix&#034;&gt;2&lt;/a&gt;] &lt;/span&gt;ou &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;kernel-source-2.4.22-26mdk&lt;/code&gt;, voir un paquetage plus r&#233;cent, si vous souhaitez b&#233;n&#233;ficier des derniers correctifs de s&#233;curit&#233; (NDLR : cette derni&#232;re option est chaudement recommand&#233;e).&lt;/p&gt;
&lt;/div&gt;&lt;div id=&#034;nb3-3&#034;&gt;
&lt;p&gt;&lt;span class=&#034;spip_note_ref&#034;&gt;[&lt;a href=&#034;#nh3-3&#034; class=&#034;spip_note&#034; title=&#034;Notes 3-3&#034; rev=&#034;appendix&#034;&gt;3&lt;/a&gt;] &lt;/span&gt;NDLR : il ne suffit pas d'installer les sources du noyau 2.6, il faut &#233;galement installer de nouveaux outils pour la gestion des scripts d'initialisation et la gestion des modules. Pour tester un noyau 2.6 sur une Mandrake 9.2, mieux vaut passer par Cooker gr&#226;ce &#224; &lt;a href=&#034;http://www.urpmi.org&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;urpmi&lt;/a&gt; et &lt;a href=&#034;http://urpmi.org/easyurpmi/index.php&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;easyurpmi&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
	<item xml:lang="fr">
		<title>Utiliser Linux... oui mais pas les yeux ferm&#233;s !</title>
		<link>https://clx.asso.fr/spip/?Utiliser-Linux-oui-mais-pas-les-yeux-fermes</link>
		<guid isPermaLink="true">https://clx.asso.fr/spip/?Utiliser-Linux-oui-mais-pas-les-yeux-fermes</guid>
		<dc:date>2002-11-05T14:19:17Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Maurice Libes</dc:creator>


		<dc:subject>Piratage</dc:subject>

		<description>&lt;p&gt;Publi&#233; avec l'aimable autorisation de &lt;a href=&#034;mailto:Maurice.libes@com.univ-mrs.fr&#034; class=&#034;spip_mail&#034;&gt;Maurice Libes&lt;/a&gt; du Centre d'Oc&#233;anologie de Marseille. Cert article est initialement disponible au format &lt;a href=&#034;http://www.cnrs.fr/Infosecu/linux_sans_peine.rtf&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;RTF&lt;/a&gt; sur le &lt;a href=&#034;http://www.cnrs.fr/Infosecu/Revue.html&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;site de la lettre&lt;/a&gt; S&#233;curit&#233; Informatique du Centre National de la Recherche Scientifique (C.N.R.S.).&lt;/p&gt;

-
&lt;a href="https://clx.asso.fr/spip/?-Installation-Administration-de-base-de-Linux-" rel="directory"&gt;Installation / Administration de base de Linux&lt;/a&gt;

/ 
&lt;a href="https://clx.asso.fr/spip/?+-Piratage-+" rel="tag"&gt;Piratage&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;Cet article a pour vocation de prot&#233;ger un minimum le syst&#218;me d'exploitation Linux avec des notions simples, valables quelles que soient les distributions. Il s'adresse essentiellement aux non-informaticiens.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;h2 class=&#034;spip&#034;&gt;Buts Objectifs&lt;/h2&gt;
&lt;p&gt;&lt;i&gt;Chaque minutes de chaque jour, des centaines de r&#233;seaux connect&#233;s &#224; Internet sont soumis &#224; des attaques par des programmes de recherche automatique afin de trouver des vuln&#233;rabilit&#233;s et les exploiter.&lt;/i&gt; Voil&#224; comment commence un article trouv&#233; sur linuxsecurity.com. Votre PC Linux est connect&#233; &#224; Internet ? il est donc soumis &#224; ces possibilit&#233;s d'attaques avec des outils logiciels automatiques qui vont exploiter les failles qu'ils trouvent. Cet article est destin&#233; &#224; vous faire prendre conscience de ces risques, et proposer un ensemble de mesures destin&#233;es &#224; mettre en place, ou am&#233;liorer le niveau de s&#233;curit&#233; de base sur un syst&#232;me Linux connect&#233; en r&#233;seau.&lt;/p&gt;
&lt;p&gt;Nombre d'utilisateurs, issus du monde Windows ou Mac, ont une culture informatique qui ne les pr&#233;dispose pas toujours &#224; conna&#238;tre les fonctionnalit&#233;s et arcanes d'un syst&#232;me d'exploitation multi-utilisateur et multit&#226;ches (i.e. plusieurs programmes s'ex&#233;cutent de fa&#231;on quasiment simultan&#233;e)... En outre la connexion de nos postes &#224; un r&#233;seau plan&#233;taire comme Internet change les donn&#233;es du probl&#232;me par rapport aux ann&#233;es 80. L'ouverture sur un r&#233;seau de cette &#233;chelle centuple les risques d'actes de malveillance informatique : intrusions, ou refus de services. En effet sur un syst&#232;me multit&#226;che comme Linux, un grand nombre de programmes sont pr&#233;sents et actifs en m&#233;moire. Appel&#233;s &lt;i&gt;serveurs&lt;/i&gt; ou &lt;i&gt;demons&lt;/i&gt;, ils s'ex&#233;cutent sans trace apparente &#224; l'&#233;cran (un serveur de messagerie, un serveur www par exemple). Cependant sur votre machine, ces programmes sont &#224; l'&#233;coute, et en attente de connexions provenant de l'ext&#233;rieur. Si le poste Linux est peu ou mal administr&#233;, trop ouvert sur l'ext&#233;rieur, ou encore s'il propose des versions de logiciels obsol&#232;tes, les facteurs de risques permettant des actes malveillants seront d'autant plus grands. Ces mises en garde g&#233;n&#233;rales ne sont d'ailleurs pas l'apanage de Linux seulement, mais concernent tous les syst&#232;mes d'exploitation multit&#226;ches.&lt;/p&gt;
&lt;p&gt;Linux poss&#233;de de base une grande vari&#233;t&#233; de programmes pouvant assurer de la s&#233;curit&#233;.&lt;/p&gt;
&lt;p&gt;Ces lignes visent &#224; :&lt;/p&gt;
&lt;p&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; attirer l'attention de certains utilisateurs sur la n&#233;cessit&#233; de mettre en place une administration de base de la machine prenant en compte la s&#233;curit&#233; du syt&#232;me et du r&#233;seau
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; faire conna&#238;tre et passer en revue quelques &#233;l&#233;ments pour mettre en place un niveau de s&#233;curit&#233; de base.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Lors de l'Installation&lt;/h2&gt;
&lt;p&gt;Certaines distributions Linux (Redhat, Mandrake, Suse, Debian..) facilitent la phase d'installation du syst&#232;me en proposant des classes d'installation pr&#233;d&#233;finies. Dans ce cadre l&#224;, il s'agit de ne pas installer le syst&#232;me &lt;i&gt;&#224; l'aveuglette&lt;/i&gt;, sans conna&#238;tre la port&#233;e de ce que l'installation automatique de votre distribution aura choisi pour vous. Il est en outre n&#233;cessaire de bien r&#233;fl&#233;chir &#224; quoi va servir la machine que l'on installe ? est-ce une station de travail de bureautique, de d&#233;veloppement ? ou bien une machine serveur r&#233;seau ?.. Par exemple une distribution Linux Mandrake propose des classes d'installation telles que :&lt;/p&gt;
&lt;p&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; &lt;strong&gt;station de travail&lt;/strong&gt; : classe d'installation la plus polyvalente. Celle ci installe un ensemble de programmes standards (bureautique, clients internet, logiciels scientifiques...)&lt;/p&gt;
&lt;p&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; &lt;strong&gt;d&#233;veloppement&lt;/strong&gt; : Pour les utilisateurs qui souhaitent d&#233;velopper des logiciels ou les compiler. Le syst&#232;me installe un grand nombre de librairies de sous programmes (&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;*.a, *.so&lt;/code&gt;) et de fichiers d'ent&#234;tes (&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;*.h&lt;/code&gt;) n&#233;cessaires au d&#233;veloppement d'applications et la compilation de programmes en &#034;C&#034; ou autre langage (Perl, Python...).&lt;/p&gt;
&lt;p&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; &lt;strong&gt;serveur&lt;/strong&gt; : classe permettant de transformer votre machine en serveur r&#233;seau. Un grand nombre de serveurs r&#233;seau sont propos&#233;s et install&#233;s (dns, mail, ftp, web, news,...).&lt;/p&gt;
&lt;p&gt;D'autres distributions (Redhat) proposent l'installation d'ensembles de paquetages homog&#232;nes (Serveurs r&#233;seau, jeux, bureautique, bureaux...). Dans tous les cas, il sera n&#233;cessaire de :&lt;/p&gt;
&lt;p&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; v&#233;rifier et compl&#233;ter les choix pr&#233;d&#233;finis en choisissant l'option &lt;strong&gt;choix des paquetages individuellement&lt;/strong&gt;. Cela vous permettra de d&#233;couvrir et apprendre &#224; conna&#238;tre les noms et fonctions des diff&#233;rents paquetages logiciels issus du monde du &lt;strong&gt;Logiciel Libre&lt;/strong&gt; afin de d&#233;cider en pleine lumi&#232;re si oui ou non ils sont n&#233;cessaires sur votre machine... Au b&#233;n&#233;fice du doute, il est s&#251;rement pr&#233;f&#233;rable de ne pas installer un service si on ne sait pas &#224; quoi il sert. Il sera en effet tr&#232;s facile de le rajouter par la suite si on en a besoin &#224; l'aide des commande &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;rpm&lt;/code&gt; ou &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;dpkg&lt;/code&gt;.
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; choisir les services que l'on souhaite lancer au d&#233;marrage... Il est n&#233;cessaire de ne pas n&#233;gliger cette phase et de bien choisir les services qui seront strictement n&#233;cessaires. Enfin, &#224; l'issue de l'installation, il sera n&#233;cessaire de v&#233;rifier ce qui a &#233;t&#233; effectivement install&#233;.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Post Installation : V&#233;rifier les services lanc&#233;s au d&#233;marrage&lt;/h2&gt;
&lt;p&gt;L'installation est termin&#233;e, f&#233;licitations ! Un certain nombre de paquetages sont donc install&#233;s sur la partition syst&#232;me Linux &lt;strong&gt;/&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Il est maintenant n&#233;cessaire de passer en revue les services qui sont effectivement lanc&#233;s en m&#233;moire, afin de ne pas laisser de services inutiles qui pourraient &#234;tre ult&#233;rieurement des cibles potentielles, pour d'&#233;ventuels pirates sur Internet.&lt;/p&gt;
&lt;p&gt;V&#233;rifions apr&#232;s l'installation, ce qui est vraiment lanc&#233;. Dans une fen&#234;tre terminal, si vous tapez la commande :&lt;br class='autobr' /&gt;
&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;$ chkconfig --level 3 --list &lt;/code&gt;&lt;br class='autobr' /&gt;
(ou bien chkconfig &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;--level 35 --list&lt;/code&gt; pour inclure les niveaux de d&#233;marrage 3 et 5)&lt;/p&gt;
&lt;p&gt;Vous verrez appara&#238;tre la liste de tous les services disponibles sur la machine avec l'indication de leur lancement au d&#233;marrage : &#034;Arr&#234;t&#034; (ou Off) qui indique que le service n'est pas lanc&#233; au d&#233;marrage, et &#034;Marche&#034; (ou On) pour l'inverse. [Cette supervision s'obtient aussi en lancant certains programmes d'administration comme DrakConf sous Mandrake (choisir &lt;strong&gt;services de d&#233;marrage&lt;/strong&gt;). Chaque distribution Linux a un outil d'administration graphique particulier pour v&#233;rifier cette liste des services d&#233;marr&#233;s. Nous pr&#233;ferons indiquer ici la commande de base &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;chkconfig&lt;/code&gt; qui est commune &#224; toutes les distributions.&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;... innd 0:Arr&#234;t 1:Arr&#234;t 2:Arr&#234;t 3:Marche 4:Arr&#234;t 5:Marche 6:Arr&#234;t ldap 0:Arr&#234;t 1:Arr&#234;t 2:Arr&#234;t 3:Arr&#234;t 4:Arr&#234;t 5:Arr&#234;t 6:Arr&#234;t nscd 0:Arr&#234;t 1:Arr&#234;t 2:Arr&#234;t 3:Arr&#234;t 4:Arr&#234;t 5:Arr&#234;t 6:Arr&#234;t sshd 0:Arr&#234;t 1:Arr&#234;t 2:Marche 3:Marche 4:Marche 5:Marche 6:Arr&#234;t ...&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Ainsi par exemple : si je n'ai pas besoin du service &lt;i&gt;innd&lt;/i&gt; (qui est un serveur de forums publics)&lt;/p&gt;
&lt;p&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;$ rpm -qi innd &lt;/code&gt; &lt;i&gt;pour avoir les informations sur ce paquetage&lt;/i&gt;&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;$ rpm -e innd &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt; &lt;p&gt;&lt;i&gt;pour d&#233;sinstaller le paquetage&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;A contrario, si on veut lancer au d&#233;marrage un service qui ne l'&#233;tait pas initialement, il suffit d'utiliser encore la commande &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;chkconfig&lt;/code&gt; en indiquant successivement le niveau de d&#233;marrage, le nom du service et les mots cl&#233;s &#034;on&#034; ou &#034;off&#034; (il faut &#234;tre administrateur &lt;strong&gt;root&lt;/strong&gt; pour lancer cette commande)&lt;/p&gt;
&lt;p&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;$ chkconfig --level 35 webmin on &lt;/code&gt; &lt;i&gt;lance par exemple le service webmin aux niveau 3 et 5 de d&#233;marrage&lt;/i&gt;&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Interdire le lancement de certaines applications&lt;/h2&gt;
&lt;p&gt;Que voit un pirate en herbe depuis l'ext&#233;rieur de votre site ? Quels renseignements peut il obtenir sur votre machine ? Le logiciel nmap disponible sur Linux, est un outil d'exploration qui permet de d&#233;terminer quels services sont pr&#233;sents et actifs sur une machine connect&#233;e au r&#233;seau. Pour un &#233;ventuel pirate, il n'y a qu'&#224; d&#233;couvrir les services qu'une machine h&#233;berge, relever le num&#233;ro des versions des serveurs pr&#233;sents et tenter d'exploiter d'&#233;ventuelles failles (failles qui sont d'ailleurs d&#233;crites sur un grand nombre de sites Internet). Ces sites fournissent les vuln&#233;rabilit&#233;s de telle ou telle application, ainsi que les programmes permettant d'exploiter cette vuln&#233;rabilit&#233; !.&lt;/p&gt;
&lt;p&gt;Face &#224; cette possibilit&#233; d'investigation par nmap, il est donc n&#233;cessaire :
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; de montrer le moins de services ouverts possibles en d&#233;sactivant ce qui est inutile, et
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; de contr&#244;ler l'origine des connexions sur nos machines serveurs.&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;$ nmap monpc.monreseau.fr Starting nmap V. 2.53 by fyodor@insecure.org ( www.insecure.org/nmap/ ) Interesting ports on localhost.localdomain (127.0.0.1): (The 1507 ports scanned but not shown below are in state: closed) Port State Service 21/tcp open ftp 22/tcp open ssh 25/tcp open smtp 80/tcp open http 110/tcp open pop-3 443/tcp open https 515/tcp open printer 6000/tcp open X11 &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;On voit ici que la machine &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;monpc.monreseau.fr&lt;/code&gt; offre un certain nombre de services disponibles depuis l'ext&#233;rieur... on voit aussi que le service r&#233;pondant sur le port 110 (POP) est une version QPopper en version 4.0.3&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;$ telnet monpc.monreseau.fr 110 Trying 194.254.147.252... Connected to monpc.monreseau.fr . Escape character is '^]'. +OK Qpopper (version 4.0.3) at monpc.monreseau.fr starting.&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 class=&#034;spip&#034;&gt;D&#233;sactiver les services inutiles&lt;/h2&gt;
&lt;p&gt;Le lancement des services r&#233;seau d'un syst&#232;me Linux repose sur un syst&#232;me dit &lt;strong&gt;client-serveur&lt;/strong&gt;. Le sch&#233;ma est simple : une machine &lt;strong&gt;cliente&lt;/strong&gt; initie une connexion vers un &lt;strong&gt;serveur&lt;/strong&gt; en demandant le lancement d'une application particuli&#232;re. Ces services (encore appel&#233; dans le jargon &lt;i&gt;d&#233;mons&lt;/i&gt;, ou &lt;i&gt;serveurs&lt;/i&gt;) sont des programmes qui sont lanc&#233;s de 2 mani&#232;res diff&#233;rentes :&lt;/p&gt;
&lt;p&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; &lt;strong&gt;soit par le programme inetd&lt;/strong&gt; : inetd est un programme activ&#233; d&#232;s le d&#233;marrage du syst&#232;me, et qui attend en m&#233;moire des demandes de connexion pour un service donn&#233;. Quand un client ext&#233;rieur (ou m&#234;me local &#224; la machine) demande une connexion par le r&#233;seau, inetd d&#233;termine quel est le service &#224; lancer en consultant son fichier de configuration &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/etc/inetd.conf&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; &lt;strong&gt;soit au d&#233;marrage de la machine&lt;/strong&gt; : sans passer par inetd. C'est le cas de certains services tr&#232;s sollicit&#233;s (comme un serveur de mail, ou un serveur www) qui doivent &#234;tre pr&#233;sents en m&#233;moire et r&#233;pondre rapidement et directement aux demandes de connexion sans passer par le &#034;super serveur&#034; inetd.&lt;/p&gt;
&lt;p&gt;Premi&#232;re &#233;tape de s&#233;curit&#233; : v&#233;rifier le contenu de &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/etc/inetd.conf&lt;/code&gt;. Il ne faut laisser dans ce fichier que les services que l'on d&#233;sire explicitement activer, et aucun autre (il suffit pour cela de placer un caract&#232;re de commentaire &#034;#&#034; devant la ligne du service que l'on souhaite d&#233;sactiver.&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;# #pop-2 stream tcp nowait root /usr/sbin/tcpd ipop2d #pop-3 stream tcp nowait root /usr/sbin/tcpd /usr/local/sbin/popper -s #spop3 stream tcp nowait root /usr/sbin/tcpd /usr/local/sbin/popper -s -f /etc/mail/pop/qpopper.config #imap stream tcp nowait root /usr/sbin/tcpd imapd #. &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Deuxi&#232;me &#233;tape de s&#233;curit&#233; : ce sch&#233;ma client-serveur basique est trop simple, et pas assez s&#233;curis&#233; ! En effet par d&#233;faut, on ne contr&#244;le pas &#034;qui&#034; (i.e quelle machine cliente) est &#224; l'origine de la demande. Or, les services qu'une machine propose n'ont pas forc&#233;ment &#224; &#234;tre disponibles &#224; tout l'Internet ! Il est n&#233;cessaire de restreindre l'utilisation des services r&#233;seau vers un ensemble de machines &#224; qui on souhaite r&#233;server ce service. Sauf cas particuliers de serveurs publics (comme un serveur WWW, ou de messagerie), les services r&#233;seau ne devraient pas &#234;tre destin&#233;s &#224; &#234;tre accessibles depuis tout l'Internet. Aussi il faut s&#233;curiser ce sch&#233;ma de base simpliste de 2 mani&#232;res :&lt;/p&gt;
&lt;p&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; soit en utilisant tcpwrapper
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; soit en utilisant xinetd&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Contr&#244;ler l'acc&#232;s aux services par tcpwrapper ou xinetd&lt;/h2&gt;
&lt;p&gt;Dans le contexte de s&#233;curit&#233; actuel, l'utilisation de tcpwrapper ou xinetd sur Linux, devient indispensable ! L'id&#233;e de base de tcpwrapper (ou de xinetd comme successeur de inetd) est d'exercer un contr&#244;le sur l'identit&#233; de la machine cliente qui veut lancer un service r&#233;seau du serveur. tcpwrapper permet donc de limiter les acc&#232;s aux services r&#233;seau offerts par une machine serveur, en fonction de l'adresse r&#233;seau des machines clientes.&lt;/p&gt;
&lt;p&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; utilisation de &lt;strong&gt;tcpwrapper&lt;/strong&gt; : tcpwrapper est un petit programme appel&#233; &lt;i&gt;tcpd&lt;/i&gt; qui est lanc&#233; par inetd avant le service demand&#233; par la machine cliente. Pour activer tcpwrapper (i.e tcpd) il suffit de le rajouter dans le fichier /etc/inetd.conf. Ce syst&#232;me est depuis longtemps int&#233;gr&#233; de base dans les distributions Linux (&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;rpm -q tcp_wrappers&lt;/code&gt; pour v&#233;rifier sa pr&#233;sence).&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt; ftp stream tcp nowait root /usr/sbin/tcpd /opt/proftpd/sbin/proftpd&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; Dans ce sch&#233;ma, inetd lance tcpwrapper avant le service convoit&#233;, lequel tcpd va alors engager une s&#233;rie de v&#233;rifications pour savoir si le service demand&#233; est permis ou non pour la machine cliente ext&#233;rieure. les contr&#244;les de tcpwrapper se font dans 2 fichiers seulement :&lt;/p&gt;
&lt;p&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; &lt;strong&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/etc/hosts.deny&lt;/code&gt;&lt;/strong&gt; : indique la listes des services qui sont interdits pour certaines machines et domaines internet. La syntaxe est simple :&lt;/p&gt;
&lt;p&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;&lt;nom-du-service&gt;: &lt;domaine autoris&#233;&gt;&lt;/code&gt; (le mot cl&#233; &#034;All&#034; indique tous les services et/ou &#034;tout le monde&#034; selon l'endroit ou il est plac&#233;)&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;# ci dessous tous les services sont interdits &#224; tout le monde All : All #&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; &lt;strong&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/etc/hosts.allow&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;# autorisation de tous les services pour les machines de mon reseau ALL: LOCAL, .monreseau.fr # autorisation d'acc&#232;s &#224; sshd pour tout le monde sshd: All # acess au service POP que depuis les machines du reseau local poppassd: LOCAL, 192.168.1.0/255.255.255.0 popper: LOCAL, 192.168.1.0/255.255.255.0 # ## acc&#232;s au serveur imap non s&#233;curis&#233; uniquement en LOCAL imapd: LOCAL, localhost.localdomain, 192.168.1.0/255.255.255.0 # ## acc&#232;s au service imapS s&#233;curis&#233; par ssl pour tout le monde imapsd: ALL&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Dans quel ordre se font les contr&#244;les entre hosts.allow et hosts.deny :&lt;/p&gt;
&lt;p&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; l'acc&#232;s &#224; un service est autoris&#233; lorsque que tcpwrapper trouve un couple service:r&#233;seau dans le fichier hosts.allow, &lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; sinon le fichier hosts.deny est consult&#233; et le service est refus&#233; si une paire service:r&#233;seau s'y trouve. &lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; Sinon le service est accept&#233;.&lt;/p&gt;
&lt;p&gt;La politique la plus efficace dans ce fichier hosts.deny est de commencer par tout interdire en &#233;crivant &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;All: All&lt;/code&gt;. Ce qui signifie que tous les services de ma machine sont interdits &#224; tout le monde. Cela nous permet de mettre en place une politique de s&#233;curit&#233; visant &#224; &lt;strong&gt;Interdire tout ce qui n'est pas explicitement autoris&#233;&lt;/strong&gt;. Il nous faut alors d&#233;finir ce qui est explicitement autoris&#233; dans /etc/hosts.allow&lt;/p&gt;
&lt;p&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; &lt;strong&gt;utilisation de xinetd&lt;/strong&gt; : en bref, xinetd est le programme qui est amen&#233; progressivement &#224; remplacer inetd. xinetd int&#232;gre de fa&#231;on native le suppl&#233;ment de s&#233;curit&#233; de tcp_wrappers et apporte quelques &#233;l&#233;ments de contr&#244;le suppl&#233;mentaires. Quelques options suppl&#233;mentaires et int&#233;ressantes de xinetd sont :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;- disable = yes|no permet d'activer ou d&#233;sactiver un service - only_from = &lt;liste des r&#233;seaux autoris&#233;s&gt; permet de restreindre le service &#224; un ou plusieurs r&#233;seau - no_access = &lt;liste des r&#233;seaux non autoris&#233;s&gt; interdit l'acc&#232;s aux services pour les r&#233;seaux cit&#233;s - instances = &#034;n&#034; permet de contr&#244;ler la charge. xinetd ne lancera pas plus de &#034;n&#034; programmes demand&#233;s. - access_times = 8:00-12:00 13:00-17:00 permet de restreindre l'utilisation d'un service sur une plage horaire.&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;On place ces options dans les fichiers de configuration pr&#233;sents dans&lt;br class='autobr' /&gt;
/etc/xinetd.conf et /etc/xinetd.d :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt; service pop3 { socket_type = stream wait = no user = root server = /usr/sbin/ipop3d log_on_success += USERID log_on_failure += USERID disable = no only_from = 192.168.1.0/24 }&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;On trouvera un tr&#232;s bon article en fran&#231;ais sur les apports et nouveaut&#233;s de xinetd sur :&lt;/p&gt;
&lt;p&gt;&lt;a href=&#034;http://www.fr.linuxfocus.org/Francais/November2000/article175.shtml&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;http://www.fr.linuxfocus.org/Francais/November2000/article175.shtml&lt;/a&gt;&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;le probl&#232;me des mots de passe&lt;/h2&gt;
&lt;p&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; &lt;strong&gt;complexit&#233;&lt;/strong&gt; : On ne le dira jamais assez les mots de passe doivent &#234;tre suffisamment complexes pour ne pas &#234;tre trouv&#233; par des individus, soit dot&#233;s de bon sens (pour trouver toto, azerty, v&#233;lo), soit dot&#233;s du logiciel &lt;i&gt;john-the-ripper&lt;/i&gt; qui permet de d&#233;crypter les mots de passe dans un fichier de mots de passe. En bref, un bon mot de passe doit comporter au minimum 6 caract&#232;res, &#234;tre une combinaison de minuscules, majuscules, chiffres, et caract&#232;res de ponctuation. Le mot de passe ne doit pas &#234;tre un mot du dictionnaire !. Le plus simple est de trouver une combinaison d'une phrase qui ait un sens mn&#233;motechnique. Exemple : &#034;j'ai 2 amours mon pays et Marseille&#034; pourrait donner G2amPeM&lt;/p&gt;
&lt;p&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; &lt;strong&gt;chiffrage&lt;/strong&gt; : Il est bon de le savoir...ou de le rappeler : lorsque vous tapez quelque chose sur votre clavier, lors de la connexion &#224; un service distant (un serveur pop3 par exemple, lorsque vous relevez vos mails)... tout ce que vous tapez, toutes les informations du dialogue client-serveur (et donc votre mot de passe), circulent par d&#233;faut de fa&#231;on lisible (on dit &lt;i&gt;en clair&lt;/i&gt; dans le jargon) sur le parcours entre le client et le serveur. Il suffit &#224; un individu mal intentionn&#233; de lancer un programme d'&#233;coute (un &lt;i&gt;sniffer&lt;/i&gt; dans le jargon) sur un PC connect&#233; au r&#233;seau, pour voir circuler vos noms et mots de passe de fa&#231;on lisible.. imaginez la facilit&#233; de piratage par la suite !&lt;/p&gt;
&lt;p&gt;Deux solutions principales s'offrent &#224; nous pour contrecarrer ses possibilit&#233;s d'&#233;coute sur le r&#233;seau (en plus du fait d'avoir un mot de passe solide). Ces solutions sont progressivement mises en place par les administrateurs syst&#232;mes et r&#233;seaux de nos campus et laboratoires :&lt;/p&gt;
&lt;p&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; avoir une architecture r&#233;seau la plus segment&#233;e possible (en utilisant des commutateurs &#233;thernet, ou des r&#233;seaux virtuels &#034;vlan&#034;, par exemple)&lt;/p&gt;
&lt;p&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; utiliser d&#233;sormais des applications clients-serveurs qui utilisent de la cryptologie. Ces applications utilisent des algorithmes de chiffrement (comme RSA par exemple), utilisant un syst&#232;me de 2 cl&#233;s (une dite &lt;i&gt;priv&#233;e&lt;/i&gt; et l'autre &lt;i&gt;publique&lt;/i&gt;) qui permettent de chiffrer les donn&#233;es sur le r&#233;seau. En bref, ces algorithmes &#224; clefs asym&#233;triques reposent sur des propri&#233;t&#233;s math&#233;matiques de factorisation des grandes nombres premiers. Ils permettent de faire en sorte que tout ce qui est chiffr&#233; avec la cl&#233; priv&#233;e, peut &#234;tre d&#233;chiffr&#233; avec la clef publique correspondante, et r&#233;ciproquement. Ce chiffrement permet de rendre illisibles les donn&#233;es qui sont &#233;chang&#233;es entre un client et un serveur, et difficilement d&#233;chiffrables par un tiers qui n'aurait pas la cl&#233; correspondante. En outre ce syst&#232;me de chiffrage par des &#034;bi-cl&#233;s&#034; permet d'apporter des fonctionnalit&#233;s d'authentification pour des serveurs ou des individus. En effet si je peux d&#233;chiffrer un message avec la cl&#233; publique de X, c'est que seul X a pu l'&#233;crire avec sa cl&#233; priv&#233;e.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Principales applications utilisant la cryptologie&lt;/h2&gt;
&lt;p&gt;Par d&#233;faut, les &#233;changes qui se font sur l'internet entre un programme client et une application serveur se font &#034;en clair&#034;, laissant ainsi toute possibilit&#233; &#224; un individu malveillant d'intercepter et lire ce qui est &#233;chang&#233; lors d'une connexion avec un serveur distant (www ou mail ou ftp...). Ainsi lorsque vous tapez votre mot de passe sur votre poste, en vue de relever votre courrier &#233;lectronique, ou bien d'acc&#233;der &#224; un site bancaire via le Web, une possibilit&#233; existe que votre mot de passe soit lu par une tierce partie. On imagine alors les cons&#233;quences n&#233;fastes sur la s&#233;curit&#233; des syst&#232;mes informatiques, et votre vie priv&#233;e. Cette possibilit&#233; est d&#233;sormais inacceptable, et il convient de la rendre nulle en utilisant des programmes utilisant du chiffrement.&lt;/p&gt;
&lt;p&gt;Les programmes utilisant des algorithmes de chiffrement bas&#233;s sur des cl&#233;s existent depuis plusieurs ann&#233;es, mais leur utilisation avec des cl&#233;s de 128 bits en France &#233;tait jusqu'&#224; il y a peu de temps, l&#233;galement prohib&#233;e. Ce n'est que r&#233;cemment (F&#233;vrier 2002) que le CNRS a obtenu pour 5 ans l'autorisation l&#233;gale d'utiliser certains moyens de chiffrement avec des cl&#233;s de 128bits (logiciel ssh).&lt;/p&gt;
&lt;p&gt;Il est d&#233;sormais n&#233;cessaire de privil&#233;gier et utiliser toute application permettant un chiffrage du dialogue client-serveur. Dans ce syst&#232;me, en bref, les parties &#034;cliente&#034; et &#034;serveur&#034; chiffrent, les donn&#233;es (resp. d&#233;chiffrent) par un syst&#232;me de cl&#233; priv&#233;e/cl&#233; publique. Pour l'utilisateur final, ce proc&#233;d&#233; ne n&#233;cessite aucune action suppl&#233;mentaire ou complexe. Il est juste n&#233;cessaire d'utiliser des applications clientes susceptibles d'engager une transaction chiffr&#233;e.. La majeure partie du travail se fait du cot&#233; du serveur (et donc pour l'administrateur du serveur).&lt;/p&gt;
&lt;p&gt;Ce mode de transmission s'appelle &lt;strong&gt;SSL&lt;/strong&gt; (Secure Socket Layer), normalis&#233; en &lt;strong&gt;TLS&lt;/strong&gt; (Transport Layer System). Que peut-on s&#233;curiser avec les applications utilisant SSL/TLS ?&lt;/p&gt;
&lt;p&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; &lt;strong&gt;le relev&#233; de son courrier &#233;lectronique&lt;/strong&gt; : Seuls les programmes de mail suivants proposent un dialogue s&#233;curis&#233; par SSL/TLS. Il s'agit de &#034;Outlook Express&#034; ou &#034;TheBat&#034; sur Windows, &#034;Netscape messenger&#034; (toute plateforme), Kmail ou Mutt (sur Linux). En ce qui concerne Eudora, seule les versions sup&#233;rieures &#224; 5.1 proposent ce chiffrement. Pour utiliser ce chiffrement sur vos programmes, il vous suffit de chercher dans les options de configuration du programme, la case indiquant &#034;utiliser une connexion sure SSL&#034;. Bien entendu il faudra que du cot&#233; du serveur de messagerie, l'administrateur du syst&#232;me ait install&#233; les serveurs d'acc&#232;s aux boites de Mail, permettant le chiffrage (POPS et/ou IMAPS).&lt;/p&gt;
&lt;p&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; &lt;strong&gt;L'acc&#232;s &#224; un site web&lt;/strong&gt; : Pour s&#233;curiser les &#233;changes avec un serveur web distant, il suffit juste pour le client d'utiliser la syntaxe https en lieu et place de http lors de la connexion &#224; un site web. Ainsi &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;https://www.camif.fr/&lt;/code&gt; pemettra d'acc&#233;der au server WWW d'un site en mode s&#233;curis&#233;, les &#233;changes &#233;tant chiffr&#233;s par le serveur. Du cot&#233; du serveur, il est bien entendu n&#233;cessaire que l'administrateur du site distant ait mis en place un serveur WWW s&#233;curis&#233; supportant SSL, sans quoi la connexion sera refus&#233;e.&lt;/p&gt;
&lt;p&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; &lt;strong&gt;La connexion sur une machine distante&lt;/strong&gt; : il est question l&#224;, de se connecter et travailler sur une machine B, alors que l'on se trouve devant une autre machine A distante. On peut donc utiliser au maximum les potentialit&#233;s d'un r&#233;seau de machines. Depuis longtemps Linux (et tous les Unix) permettent de travailler en r&#233;seau en utilisant les processeurs et disques de machines diff&#233;rentes. Il y a quelques temps, les programmes de base s'appelaient &lt;i&gt;telnet&lt;/i&gt; et &lt;i&gt;rlogin&lt;/i&gt;. Ces programmes souffrent d'un certain nombre de faiblesses en partie dues au fait que les &#233;changes, encore une fois, entre client et serveur sont potentiellement lisibles avec un analyseur de r&#233;seau. Il est d&#233;sormais indispensable de rel&#233;guer aux oubliettes l'utilisation de ces 2 anciens programmes de connexion. D'autant qu'un substitut parfait est disponible ! &lt;strong&gt;SSH&lt;/strong&gt; pour Secure Shell (ou SSF pour sa version fran&#231;aise utilisant des cl&#233;s inf&#233;rieures &#224; 128bits)&lt;/p&gt;
&lt;p&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; &lt;strong&gt;L'&#233;change de fichiers par ftp&lt;/strong&gt; : l&#224; encore le dialogue client-serveur FTP peut &#234;tre chiffr&#233; par &lt;i&gt;sftp&lt;/i&gt; gr&#226;ce aux serveurs SSHv2. Certains applications clientes (&lt;a href=&#034;http://www.ssh.org&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;www.ssh.org&lt;/a&gt;) offrent des acc&#232;s et transferts tr&#232;s ergonomiques.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Contr&#244;ler l'int&#233;grit&#233; de son syst&#232;me (&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;tripwire, rpm -V&lt;/code&gt;)&lt;/h2&gt;
&lt;p&gt;En cas d'intrusion sur votre syst&#232;me Linux, il est fr&#233;quent que les pirates installent ce que l'on appelle un &lt;i&gt;rootkit&lt;/i&gt; (disponibles sur Internet). Un &lt;i&gt;rootkit&lt;/i&gt; (boite &#224; outils d'un faux administrateur malveillant) est un ensemble de logiciels qui vont permettre &#224; un intrus de s'introduire sur un syst&#232;me cible, et le modifier en laissant le moins de traces possibles. Le but pour l'intrus &#233;tant d'agir, en passant inaper&#231;u du vrai administrateur. Par exemple, la commande &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;ls&lt;/code&gt; sera modifi&#233;e pour ne pas laisser appara&#238;tre certains fichiers du rootkit lui m&#234;me. La commande &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;ps&lt;/code&gt; cachera certains processus, la commande &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;netstat&lt;/code&gt; n'affichera pas certaines connexions ouvertes, etc. Le &lt;i&gt;cracker&lt;/i&gt; peut alors facilement installer un acc&#232;s cach&#233; au syst&#232;me (encore appel&#233; &lt;i&gt;backdoor&lt;/i&gt;), sans que l'administrateur puisse le d&#233;celer. Dans ce contexte il tr&#232;s est difficile de d&#233;celer une intrusion par les moyens de base. Il est donc indispensable d'utiliser des syst&#232;mes de contr&#244;le d'int&#233;grit&#233; qui permettent de savoir quels fichiers du syst&#232;me ont pu &#234;tre modifi&#233;s.&lt;/p&gt;
&lt;p&gt;Le paquetage &lt;strong&gt;tripwire&lt;/strong&gt; (&lt;a href=&#034;http://www.tripwire.org&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;http://www.tripwire.org&lt;/a&gt;) est un syst&#232;me d'utilisation assez simple, qui permet de v&#233;rifier l'int&#233;grit&#233; d'un syst&#232;me Linux. Il permet de contr&#244;ler toute modification du syst&#232;me par rapport &#224; un &#233;tat de base sain. Tous les fichiers rajout&#233;s, d&#233;truits, ou modifi&#233;s seront d&#233;cel&#233;s. tripwire est donc un programme de d&#233;tection d'intrusion dans la mesure ou il permet de v&#233;rifier tr&#232;s rapidement l'&#233;tat d'un syst&#232;me apr&#232;s intrusion, et rep&#233;rer si un intrus a modifi&#233; le syst&#232;me.&lt;/p&gt;
&lt;p&gt;Apres avoir initialis&#233; le syst&#232;me par la commande &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/etc/tripwire/twinstall.sh&lt;/code&gt; Le principe de base consiste :
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; &#224; calculer une image de base (encore appel&#233;e &lt;i&gt;empreinte&lt;/i&gt; ou &lt;i&gt;condens&#233;&lt;/i&gt;) du syst&#232;me lors de l'installation originelle. Cette empreinte est chiffr&#233;e et conserv&#233;e dans un fichier. &lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; recalculer l'empreinte du syst&#232;me r&#233;guli&#232;rement (chaque jour) et la comparer &#224; l'empreinte originale. tripwire indique alors toutes les modifications entre les 2 &#233;tats !&lt;/p&gt;
&lt;p&gt;tripwire est assez simple &#224; utiliser :&lt;/p&gt;
&lt;p&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/etc/tripwire/twinstall.sh&lt;/code&gt; : &#233;tape pr&#233;liminaire consistant &#224; g&#233;n&#233;rer les cl&#233;s de chiffrage qui vont permettre de chiffrer les fichiers de rapport.
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;tripwire --init&lt;/code&gt; : calcul de l'empreinte initiale (condens&#233;) du syst&#232;me. Cette empreinte est stock&#233;e dans un fichier chiffr&#233;, appel&#233;&lt;br class='autobr' /&gt;
&lt;code class='spip_code spip_code_inline' dir='ltr'&gt; /var/lib/tripwire/&lt;votremachine.domaine&gt;.twd&lt;/code&gt;
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/usr/sbin/tripwire --check&lt;/code&gt; : lance un contr&#244;le d'int&#233;grit&#233;. La base de donn&#233;es initiale sert de point de comparaison. Le diagnostic donne ce qui a &#233;t&#233; modifi&#233; entre les 2 contr&#244;les. La commande /usr/sbin/tripwire &#8212;check produit un fichier journalier de rapport chiffr&#233; qui se trouve dans &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/var/lib/tripwire/report&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Il est n&#233;cessaire de lancer r&#233;guli&#232;rement les contr&#244;les d'int&#233;grit&#233;s. tripwire peut &#234;tre lanc&#233; r&#233;guli&#232;rement par l'ordonnanceur de t&#226;ches (&lt;strong&gt;cron&lt;/strong&gt;) de Linux. Un rapport vous est envoy&#233; par mail.&lt;/p&gt;
&lt;p&gt;Une autre mani&#232;re permettant de v&#233;rifier l'int&#233;grit&#233; d'un ensemble de fichiers, est de s'appuyer sur les gestionnaires de paquetages &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;rpm&lt;/code&gt;. L'option -V de la commande rpm indique si le paquetage install&#233; a &#233;t&#233; corrompu par rapport &#224; la version de base.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;rpm -Va&lt;/code&gt; ou &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;rpm -V &lt;nom-dupaquetage&gt;&lt;/code&gt;&lt;/strong&gt; compare les informations des fichiers install&#233;s sur le disque avec les informations prises dans la base de donn&#233;es des rpm. Le contr&#244;le v&#233;rifie la taille des fichiers, le checksum, les permissions, les propri&#233;taires de chaque fichier du paquetage. Exemple :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;#rpm -qf /bin/ls fileutils-4.0-13mdk # rpm -V fileutils # touch /bin/ls &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;(on modifie la commande ls)&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;# rpm -V fileutils &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;(la v&#233;rification par rpm indique cette modificaiton)&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;.......T /bin/ls &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;(#T indique un changement dans la date de modification de la commande..)&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Mettre &#224; jour rapidement une application avec Linux ?&lt;/h2&gt;
&lt;p&gt;En cas de r&#233;ception d'un avis de s&#233;curit&#233; (l'administrateur syst&#232;me d'un laboratoire CNRS devrait logiquement en &#234;tre inform&#233; par le biais des CERT-Renater ou CERT-A) informant d'une faille critique sur un logiciel. Il est alors n&#233;cessaire de faire rapidement une mise &#224; jour du paquetage incrimin&#233;. Les corrections dans la communaut&#233; du logiciel libre &#233;tant assez rapide &#224; &#234;tre faites, il faut alors se procurer la version corrig&#233;e sur certains sites officiels de l'Internet (debian.org, mandrake.com, rpmfind.net, redhat.com, isc.org etc..) et l'installer. Cela d&#233;pend de la distribution que vous utilisez :&lt;/p&gt;
&lt;p&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; par exemple, &lt;i&gt;DrakConf&lt;/i&gt; (sur une distribution Mandrake), choix &lt;strong&gt;mise &#224; jour des logiciels&lt;/strong&gt;, ou plus directement MandrakeUpdate automatise totalement la r&#233;cup&#233;ration et l'installation d'une version corrig&#233;e d'un logiciel.
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; De mani&#232;re moins directe, mais tout aussi efficace, le site &lt;a href=&#034;http://www.rpmfind.net&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;http://www.rpmfind.net&lt;/a&gt; permet de chercher, et r&#233;cup&#233;rer la derni&#232;re version d'un programme corrig&#233;. Une fois le paquetage r&#233;cup&#233;r&#233;, il suffit de lancer la mettre &#224; jour sur votre syst&#232;me, par la commande rpm $&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;rpm -Uvh &lt;paquetage-version.rpm&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Voici quelques autres commandes bien utiles pour bien g&#233;rer vos paquetages&lt;br class='autobr' /&gt;
install&#233;s avec le syst&#232;me de commandes RPM&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;$ rpm -qa &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;lister tous les paquetages install&#233;s sur mon PC&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;$ rpm -e &lt;nom-du-paquetage&gt; &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;enlever/d&#233;sinstaller un paquetage&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;$ rpm -qil &lt;nom-du-paquetage&gt; &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;lister le contenu d'un paquetage d&#233;j&#224; install&#233;&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;$ rpm -qilp &lt;nom-paquetage-version.rpm&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt; &lt;p&gt;lister le contenu d'un paquetage non encore install&#233; (encore sous forme de fichier .rpm)&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;$ rpm -qf /chemin/vers/le/fichier &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;savoir &#224; quel paquetage appartient un certain fichier ?&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;$ rpm -ivh &lt;paquetage-version.rpm&gt; &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Installer un paquetage&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;$ rpm -Uvh &lt;paquetage-version.rpm&gt; &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;mettre &#224; jour un paquetage&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;$ rpm -Va ou rpm -V &lt;paquetage&gt; &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;v&#233;rification de l'int&#233;grit&#233; du paquetage&lt;/p&gt;
&lt;p&gt;Un doute sur la fonction du paquetage inn ?&lt;/p&gt;
&lt;p&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;$ rpm -qi inn &lt;/code&gt;vous indiquera &#224; quoi sert le paquetage
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt; $ rpm -qil inn &lt;/code&gt; : indique la composition du paquetage (s'il est d&#233;j&#224; install&#233; sur la machine)
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt; $ rpm -qilp /mnt/cdrom/Mandrake/RPMS/inn-2.2.2-8mdk.i586.rpm &lt;/code&gt;indique la composition du paquettage rpm inn, celui ci n'&#233;tant pas encore install&#233; sur la machine&lt;/p&gt;
&lt;p&gt;rajouter apr&#232;s coup le paquetage tcpdump que j'ai oubli&#233; lors de l'installation ?&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;$ mount /mnt/cdrom $ rpm -ivh /mnt/cdrom/Mandrake/RPMS/tcpdump-3.6.2-2mdk.i586.rpm&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 class=&#034;spip&#034;&gt;S&#233;curit&#233; Linux avanc&#233;e : filtrage au niveau du transport r&#233;seau (&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;ipchains&lt;/code&gt;) &lt;/h2&gt;
&lt;p&gt;Enfin, dernier point qui m&#233;rite d'&#234;tre signal&#233;, le syst&#232;me Linux a depuis longtemps la possibilit&#233; de faire du filtrage de trames r&#233;seau TCP/IP. Cela signifie que, Linux a la capacit&#233; d'accepter ou de refuser de traiter des trames r&#233;seau qui lui proviennent, en fonction de plusieurs crit&#232;res : protocole r&#233;seau utilis&#233;, adresses sources, du port applicatif qui est demand&#233;. Ce syst&#232;me de filtrage au niveau du noyau Linux s'appelle &lt;strong&gt;ipchains&lt;/strong&gt; pour la s&#233;rie des noyaux Linux &lt;strong&gt;2.2.*&lt;/strong&gt;, ou &lt;strong&gt;iptables&lt;/strong&gt; pour la s&#233;rie des noyaux &lt;strong&gt;2.4.*&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;On peut donc faire du filtrage d'acc&#232;s au niveau des demandes de connexion r&#233;seau provenant de l'ext&#233;rieur. Cela est un peu plus g&#233;n&#233;ral et performant que le filtrage au niveau des applications que nous avons cit&#233; plus haut (par tcpwrapper et xinetd). En effet, &#224; ce niveau on peut intervenir directement au niveau des couches de transport r&#233;seau et des protocoles comme TCP, UDP, ICMP, mais &#233;galement au niveau de n'importe quelle application. On peut en outre diff&#233;rencier des connexions entrantes (input), sortantes (output), ou transmises (forward) dans le cas ou le PC Linux poss&#232;de 2 interfaces r&#233;seau et agit comme un routeur.&lt;/p&gt;
&lt;p&gt;Ce syst&#232;me permet &#233;galement de faire la diff&#233;rence entre des demandes de connexions issues de l'int&#233;rieur du site, et celles issues de l'ext&#233;rieur (connexion dites &#034;established&#034;). Ce syst&#232;me est un peu plus complexe &#224; mettre en oeuvre, et demande une bonne connaissance du protocole TCP/IP, et des ports applicatifs... mais il est tr&#232;s efficace.&lt;/p&gt;
&lt;p&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; &lt;strong&gt;par d&#233;faut&lt;/strong&gt;, le noyau Linux &lt;strong&gt;accepte&lt;/strong&gt; tout en entr&#233;e, sortie, et redirection.&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;$ /sbin/ipchains -L Chain input (policy ACCEPT): Chain forward (policy ACCEPT): Chain output (policy ACCEPT):&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; Voici quelques options principales pour &#233;crire une cha&#238;ne de filtre :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;$ /sbin/ipchains -A input [rajoute une cha&#238;ne de filtre en entr&#233;e] -s adresse-source 0/0 [contr&#244;le sur l'adresse source en notation CIDR] -d adresse-destination [contr&#244;le sur l'adresse destination en notation CIDR] num&#233;ro-de-port protocole -y [indique que la demande connexion est initi&#233;e depuis l'ext&#233;rieur] -j ACCEPT|DENY|REJECT [politique de filtrage &#224; mettre en place] -l [pour tracer la r&#232;gle de filtrage dans un fichier de journalisation]&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; exemple d'un fichier de configuration de ipchains dans&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;/etc/sysconfig/ipchains. ## accepte toute connexion entrante de l'ex&#233;t&#233;rieur sur le port 22 = ssh -A input -p tcp -s 0/0 -d 0/0 22 -y -j ACCEPT # autoriser tout tcp et udp depuis le site de confiance 138.125.2 entre les ports 0 et 1023 -A input -p tcp -s 138.125.2.0/24 -d 0/0 0:1023 -y -j ACCEPT -A input -p tcp -s 139.124.16.0/24 -d 0/0 0:1023 -y -j ACCEPT -A input -p udp -s 139.124.2.0/24 -d 0/0 0:1023 -j ACCEPT -A input -p udp -s 139.124.16.0/24 -d 0/0 0:1023 -j ACCEPT # rejeter tout le reste -A input -p tcp -s 0/0 -d 0/0 0:1023 -y -j REJECT -l -A input -p tcp -s 0/0 -d 0/0 2049 -y -j REJECT -l -A input -p udp -s 0/0 -d 0/0 0:1023 -j REJECT -l -A input -p udp -s 0/0 -d 0/0 2049 -j REJECT -l ## rejette X11 et xfs -A input -p tcp -s 0/0 -d 0/0 6000:6009 -y -j REJECT -l -A input -p tcp -s 0/0 -d 0/0 7100 -y -j REJECT -l &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Gr&#226;ce &#224; ce type de filtre op&#233;r&#233; par le noyau Linux, on voit par un logiciel de scan comme &lt;i&gt;nmap&lt;/i&gt;, qu'un certain nombre d'applications sont inaccessibles (&#034;filtered&#034;) depuis une machine de l'ext&#233;rieur. Avec l'option DENY &#224; la place de REJECT, la mesure est plus s&#233;v&#232;re puisque aucune indication de rejet n'est fournie. L'indication &#034;filtered&#034; n'apparait pas, la machine prot&#233;g&#233;e devient alors un &#034;trou noir&#034; qui ne laisse appara&#238;tre aucun des services qu'elle met en oeuvre.&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;$nmap sonpc.sonreseau.fr Interesting ports on monpc.monreseau.fr (138.125.1.101): (The 1511 ports scanned but not shown below are in state: closed) Port State Service 21/tcp filtered ftp 22/tcp open ssh 25/tcp filtered smtp 67/tcp filtered bootps 68/tcp filtered bootpc 69/tcp filtered tftp 80/tcp filtered http 98/tcp filtered linuxconf 110/tcp filtered pop-3 111/tcp open sunrpc 123/tcp filtered ntp &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 class=&#034;spip&#034;&gt;Conclusions&lt;/h2&gt;
&lt;p&gt;Ces quelques conseils sont relatifs &#224; la s&#233;curit&#233; de base sur des machines de type unix. Ils vous permettront de rester connecter au r&#233;seau mondial avec une bonne s&#233;curit&#233; de base, et de tirer tous les b&#233;n&#233;fices et avantages de Linux et des &#034;logiciels libres&#034; sans trop de dommages...&lt;/p&gt;
&lt;p&gt;Mais bien entendu ces mesures ne sont pas suffisantes &#224; elles seules, pour b&#226;tir une politique de s&#233;curit&#233; totale et coh&#233;rente sur l'ensemble d'un laboratoire ou d'un campus. Il est n&#233;cessaire de consolider les quelques mesures que nous avons pass&#233; en revue, par la mise en oeuvre d'autres mesures relatives &#224; l'architecture physique des r&#233;seaux, &#224; des filtrages en entr&#233;e de site, jusqu'&#224; certaines mesures relevant du comportement individuel (chartes informatiques), mais cela d&#233;passe le cadre de cet article.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Quelques r&#233;f&#233;rences &lt;/h2&gt;
&lt;p&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; &lt;a href=&#034;http://www.urec.fr/securite/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;http://www.urec.fr/securite/&lt;/a&gt;
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; &lt;a href=&#034;http://www.cru.fr/securite/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;http://www.cru.fr/securite/&lt;/a&gt;
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; &lt;a href=&#034;http://www.linuxsecurity.com&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;http://www.linuxsecurity.com&lt;/a&gt;
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; &lt;a href=&#034;http://www.xinetd.org&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;http://www.xinetd.org&lt;/a&gt;
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; &lt;a href=&#034;http://www.fr.linuxfocus.org/Francais/November2000/article175.shtml&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;http://www.fr.linuxfocus.org/Francais/November2000/article175.shtml&lt;/a&gt;
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; &lt;a href=&#034;http://www.tripwire.org&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;http://www.tripwire.org&lt;/a&gt;
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; &lt;a href=&#034;http://perso.univ-rennes1.fr/bernard.perrot/SSF/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;http://perso.univ-rennes1.fr/bernard.perrot/SSF/&lt;/a&gt;
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; &lt;a href=&#034;http://www.openssh.org&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;http://www.openssh.org&lt;/a&gt;
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; &lt;a href=&#034;http://www.ssh.com&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;http://www.ssh.com&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_ps'&gt;&lt;p&gt;L'article original de &lt;a href=&#034;mailto:Maurice.libes@com.univ-mrs.fr&#034; class=&#034;spip_mail&#034;&gt;Maurice Libes&lt;/a&gt; du Centre d'Oc&#233;anologie de Marseille est disponible au format &lt;a href=&#034;http://www.cnrs.fr/Infosecu/linux_sans_peine.rtf&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;RTF&lt;/a&gt; .&lt;/p&gt;&lt;/div&gt;
		</content:encoded>


		

	</item>
	<item xml:lang="fr">
		<title>Faire passer un flux HTTP (ou autre) dans un tunnel SSH</title>
		<link>https://clx.asso.fr/spip/?Faire-passer-un-flux-HTTP-ou-autre-dans-un-tunnel-SSH</link>
		<guid isPermaLink="true">https://clx.asso.fr/spip/?Faire-passer-un-flux-HTTP-ou-autre-dans-un-tunnel-SSH</guid>
		<dc:date>2002-08-29T09:07:09Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Ga&#233;tan RYCKEBOER</dc:creator>


		<dc:subject>Firewall</dc:subject>

		<description>&lt;p&gt;Comment acc&#233;der, d'une mani&#218;re s&#233;curis&#233;e, &#224; tous les services d'une machine distante (afficher une page Web, consulter ses messages &#233;lectroniques...) lorsque vous ne disposez que d'un connexion SSH ? D&#233;tails et explications.&lt;/p&gt;

-
&lt;a href="https://clx.asso.fr/spip/?-Installation-Administration-de-base-de-Linux-" rel="directory"&gt;Installation / Administration de base de Linux&lt;/a&gt;

/ 
&lt;a href="https://clx.asso.fr/spip/?+-Firewall-+" rel="tag"&gt;Firewall&lt;/a&gt;

		</description>


 <content:encoded>&lt;img src='https://clx.asso.fr/spip/local/cache-vignettes/L127xH150/doc-83-17901.png?1759530622' alt='' class='spip_logo spip_logo_right' width='127' height='150' onmouseover='' onmouseout='' /&gt;
		&lt;div class='rss_chapo'&gt;&lt;p&gt;Le protocole SSH est un moyen tr&#218;s pratique de se connecter &#224; distance sur un serveur (ou une station), sans laisser &#224; une tierce personne la chance de r&#233;cup&#233;rer les donn&#233;es qui transitent. En somme, il s'agit d'un telnet crypt&#233;.&lt;br class='autobr' /&gt;
Mais il permet &#233;galement de &lt;i&gt;forwarder&lt;/i&gt; un &lt;i&gt;port&lt;/i&gt; local vers un des ports de la machine distante de mani&#218;re &#224; cr&#233;er un VPN (Virtual Private Network ou R&#233;seau Priv&#233; Virtuel&lt;span class=&#034;spip_note_ref&#034;&gt; [&lt;a href=&#034;#nb4-1&#034; class=&#034;spip_note&#034; rel=&#034;appendix&#034; title=&#034;Il s'agit d'une solution pour le t&#233;l&#233;travail et la s&#233;curit&#233;.&#034; id=&#034;nh4-1&#034;&gt;1&lt;/a&gt;]&lt;/span&gt;.).&lt;br&gt;
Dans cet article, nous allons :&lt;/p&gt;
&lt;ol class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Cr&#233;er un tunnel ssh entre un serveur distant sur lequel vous avez la main et un client au sein d'une entreprise ;&lt;/li&gt;&lt;li&gt; Param&#233;trer le client pour &#034;faire comme si&#034; les services du serveur distant &#233;taient h&#233;berg&#233;s en local. Ainsi depuis le poste client, vous pourrez naviguer sur le site du serveur distant, consulter vos mails, etc.) de mani&#218;re s&#233;curis&#233;e et transparente.&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;&lt;span class=&#034;spip_note_ref&#034;&gt; [&lt;a href=&#034;#nb4-conventions_20typographiques&#034; class=&#034;spip_note&#034; rel=&#034;appendix&#034; title=&#034;: Un terme en majuscules (SSH) repr&#233;sente le nom du protocole, Un terme en (&#8230;)&#034; id=&#034;nh4-conventions_20typographiques&#034;&gt;conventions typographiques&lt;/a&gt;]&lt;/span&gt;&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Rappel : Qu'est que SSH ?&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;DESCRIPTION&lt;/code&gt;&lt;/strong&gt;&lt;span class=&#034;spip_note_ref&#034;&gt; [&lt;a href=&#034;#nb4-nota&#034; class=&#034;spip_note&#034; rel=&#034;appendix&#034; title=&#034;toujours commencer une pr&#233;sentation par une page de man. &#199;a forge le caract&#232;re.&#034; id=&#034;nh4-nota&#034;&gt;nota&lt;/a&gt;]&lt;/span&gt;&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;ssh (SSH client) is a program for logging into a remote machine and for executing commands on a remote machine. It is intended to replace rlogin and rsh, and provide secure encrypted communications between two untrust&#173;ed hosts over an insecure network. X11 connections and arbitrary TCP/IP ports can also be forwarded over the secure channel. ssh connects and logs into the specified hostname. The user must prove his/her identity to the remote machine using one of several methods de&#173;pending on the protocol version used.&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Dans cet extrait de la page de man de la commande &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;ssh&lt;/code&gt;, on comprend que le protocole SSH est un moyen de saisir des commandes &#224; distance, en faisant transiter les donn&#233;es, entre le client et le serveur, de mani&#232;re crypt&#233;e. &lt;br class='autobr' /&gt;
En pratique, ssh&lt;span class=&#034;spip_note_ref&#034;&gt; [&lt;a href=&#034;#nb4-2&#034; class=&#034;spip_note&#034; rel=&#034;appendix&#034; title=&#034;Du moins la version que nous utilisons au CLX, c'est &#224; dire Openssh.&#034; id=&#034;nh4-2&#034;&gt;2&lt;/a&gt;]&lt;/span&gt; utilise les libraires openssl, et un algorithme &#224; cl&#233; publiques/priv&#233;es RSA (ou DSA pour la version 2 de ssh).&lt;/p&gt;
&lt;p&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;ssh&lt;/code&gt; se comporte exactement comme &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;telnet&lt;/code&gt;, mais avec une connexion crypt&#233;e. &lt;br class='autobr' /&gt;
Le client encrypte les donn&#233;es qu'il envoie au serveur, qui les d&#233;cryptera, et r&#233;ciproquement.&lt;br class='autobr' /&gt;
En plus, gr&#226;ce au m&#233;canisme de cl&#233;s, il est tout &#224; fait possible de se faire identifier, non par un couple login/password classique,&lt;br class='autobr' /&gt;
mais par une cl&#233; RSA (resp. DSA) pr&#233;sente dans le r&#233;pertoire &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;.ssh&lt;/code&gt; de l'utilisateur, sur l'ordinateur client.&lt;/p&gt;
&lt;p&gt;Pour plus de d&#233;tails sur les cl&#233;s, reportez-vous &#224; l'excellente doc sur &lt;a href='https://clx.asso.fr/spip/spip.php?page=rubrique&amp;id_rubrique=22'&gt;GPG&lt;/a&gt; et au site &lt;a href=&#034;http://www.uzine.net/article1758.html&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;UZINE&lt;/a&gt;.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Rappel 2 : qu'est ce qu'un port ?&lt;/h2&gt;
&lt;p&gt;Le protocole TCP permet d'&#233;tablir des connexions entre machines, c'est-&#224;-dire entre un client, qui demande une connexion, et un serveur, qui &#233;coute les demandes de connexion et y r&#233;pond.&lt;br class='autobr' /&gt;
Pour diff&#233;rencier les services (par exemple la messagerie &#233;lectronique du serveur Web), on attribue de mani&#232;re arbitraire&lt;span class=&#034;spip_note_ref&#034;&gt; [&lt;a href=&#034;#nb4-3&#034; class=&#034;spip_note&#034; rel=&#034;appendix&#034; title=&#034;L'IANA recense tous les services officiellement utilis&#233;s et les num&#233;ros de (&#8230;)&#034; id=&#034;nh4-3&#034;&gt;3&lt;/a&gt;]&lt;/span&gt; un &lt;i&gt;num&#233;ro de port&lt;/i&gt; &#224; chaque service.&lt;br class='autobr' /&gt;
De m&#234;me, on diff&#233;rencie les clients par un couple adresse IP/port &#034;source&#034;, avec un port pris dans une plage comprise entre 1025 et 32000, ce sont des ports dits &lt;i&gt;non privil&#233;gi&#233;s&lt;/i&gt;, n'importe qui &#224; le droit de les utiliser.&lt;br class='autobr' /&gt;
Cela permet d'avoir plusieurs connexions simultan&#233;es en provenance&lt;br class='autobr' /&gt;
d'un seul client vers un m&#234;me service pr&#233;sent sur un serveur distant.&lt;/p&gt;
&lt;p&gt;Dans le fichier &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/etc/services&lt;/code&gt;, vous trouverez une liste de ports couramment utilis&#233;s pour les services, &#224; savoir le port 25 associ&#233; au d&#233;mon SMTP, le port 110 au d&#233;mon POP3, le port 80 au d&#233;mon HTTP, 22 au d&#233;mon SSH, etc.&lt;/p&gt;
&lt;div class='spip_document_83 spip_document spip_documents spip_document_image spip_documents_center spip_document_center'&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;img src='https://clx.asso.fr/spip/local/cache-vignettes/L427xH506/doc-83-50ae2.png?1760211351' width='427' height='506' alt='' /&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;Sur ce sch&#233;ma r&#233;alis&#233; avec &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;dia&lt;/code&gt;, le r&#233;seau d'entreprise s'appelle ENTREPRISE.COM, le r&#233;seau du serveur distant se nomme CHEZMOI.FR. &lt;i&gt;serveur.chezmoi.fr&lt;/i&gt; d&#233;signe le PC familial par exemple et &lt;i&gt;a.entreprise.com&lt;/i&gt; correspond au poste client.&lt;/p&gt;
&lt;p&gt;Les pare-feux (sur &lt;i&gt;firewall.entreprise.com&lt;/i&gt; dans notre exemple) ne filtrent les connexions TCP que sur un nombre restreint de ports, en fonction des besoins des utilisateurs et des services de base (webmail, acc&#232;s distants...) mis en place par l'entreprise pour ses collaborateurs.&lt;br class='autobr' /&gt;
En g&#233;n&#233;ral, les ports 80, 110, et parfois 25 sont ouverts pour les connexions du r&#233;seau local (ou LAN) vers l'ext&#233;rieur.&lt;br class='autobr' /&gt;
Pour les connexions entrantes, sur les &#233;quipements de filtrage destin&#233;s &#224; la protection du LAN, un bon administrateur ne laissera ouverts depuis l'ext&#233;rieur que les ports utilis&#233;s par les ordinateurs qui doivent &#234;tre accessibles depuis Internet. Il s'agit, g&#233;n&#233;ralement, l&#224; aussi des ports 80, 25 et 110, ainsi que le port 22 pour l'administration &#224; distance.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;sshd&lt;/code&gt; peut &#233;couter sur un port arbitraire&lt;/h2&gt;
&lt;p&gt;On vient de le voir, les administrateurs qui font bien leur travail ne laissent pas sortir les connexions &#224; destination des ports SSH. Mais le port HTTP (port 80) reste ouvert.&lt;/p&gt;
&lt;p&gt;Si, depuis un r&#233;seau (&lt;i&gt;entreprise.com&lt;/i&gt;) configur&#233; ainsi, vous d&#233;sirez acc&#233;der &#224; une machine distante&lt;span class=&#034;spip_note_ref&#034;&gt; [&lt;a href=&#034;#nb4-4&#034; class=&#034;spip_note&#034; rel=&#034;appendix&#034; title=&#034;le PC familial, par exemple, sur lequel sont install&#233;s un certain nombre de (&#8230;)&#034; id=&#034;nh4-4&#034;&gt;4&lt;/a&gt;]&lt;/span&gt; via SSH, vous devrez utiliser un autre moyen qu'une connexion directe sur le port 22.&lt;br class='autobr' /&gt;
La solution consiste &#224; forcer le d&#233;mon SSH du poste client (&lt;i&gt;a.entreprise.com&lt;/i&gt;) &#224; &#233;couter sur un des ports accessibles du serveur distant (&lt;i&gt;serveur.chezmoi.fr&lt;/i&gt;), g&#233;n&#233;ralement le port 80 ou 110.&lt;br class='autobr' /&gt;
Vous trompez ainsi le pare-feu de votre entreprise (&lt;i&gt;firewall.entreprise.com&lt;/i&gt;) sur le type de connexion que vous tentez d'&#233;tablir. Il croit laisser passer une requ&#234;te HTTP ou POP.&lt;/p&gt;
&lt;p&gt;En pratique, il faut modifier le fichier &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/etc/ssh/sshd_config&lt;/code&gt;. La&lt;br class='autobr' /&gt;
syntaxe de ce dernier est simple et rappelle celle du fichier de configuration d'Apache. Rep&#233;rez les lignes suivantes :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;# What ports, IPs and protocols we listen for Port 22&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Ajoutez le port 110 ou 80, ou les deux afin d'obtenir le r&#233;sultat suivant :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;Port 22,110,80&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Red&#233;marrez le d&#233;mon &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;sshd&lt;/code&gt;, soit par un &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;kill -HUP &lt;/code&gt;&lt;i&gt;PID de&lt;br class='autobr' /&gt;
&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;sshd&lt;/code&gt;&lt;/i&gt;, soit par un &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/etc/init.d/sshd restart&lt;/code&gt; (ou encore&lt;br class='autobr' /&gt;
/etc/rc.d/init.d/sshd restart ou &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;rcsshd restart&lt;/code&gt;).&lt;br class='autobr' /&gt;
Attention, il n'y a pas d'espace entre la virgule et le nombre qui la suit.&lt;/p&gt;
&lt;p&gt;Attention &#233;galement de ne pas couper la branche sur laquelle vous &#234;tes assis. Il est bien &#233;vident que vous ne POUVEZ PAS red&#233;marrer &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;sshd&lt;/code&gt; si vous &#234;tes connect&#233; sur la machine distante via &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;ssh&lt;/code&gt; (!).&lt;br class='autobr' /&gt;
&lt;span class=&#034;spip_note_ref&#034;&gt; [&lt;a href=&#034;#nb4-5&#034; class=&#034;spip_note&#034; rel=&#034;appendix&#034; title=&#034;En effet, le red&#233;marrage du d&#233;mon se fait en deux &#233;tapes. arr&#234;t du d&#233;mon (&#8230;)&#034; id=&#034;nh4-5&#034;&gt;5&lt;/a&gt;]&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;La commande &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;screen&lt;/code&gt; ouvre la voie d'une troisi&#232;me solution, pour red&#233;marrer le d&#233;mon &#224; distance.&lt;br class='autobr' /&gt;
&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;screen&lt;/code&gt; est une commande qui permet de dissocier le &lt;i&gt;shell&lt;/i&gt; du &lt;i&gt;terminal&lt;/i&gt; ; le &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;sh&lt;/code&gt; du &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;ssh&lt;/code&gt;.&lt;span class=&#034;spip_note_ref&#034;&gt; [&lt;a href=&#034;#nb4-6&#034; class=&#034;spip_note&#034; rel=&#034;appendix&#034; title=&#034;Un sur un client distant ouvre une fen&#234;tre d'affichage, une connexion sur (&#8230;)&#034; id=&#034;nh4-6&#034;&gt;6&lt;/a&gt;]&lt;/span&gt;.&lt;br class='autobr' /&gt;
Gr&#226;ce &#224; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;screen&lt;/code&gt;, si la connexion vient &#224; &#234;tre coup&#233;e, les commandes saisies et les programmes lanc&#233;s continueront &#224; s'ex&#233;cuter et le d&#233;mon &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;sshd&lt;/code&gt; sera red&#233;marr&#233;.&lt;/p&gt;
&lt;p&gt;V&#233;rifiez ensuite les erreurs &#233;ventuelles dans le fichier &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/var/log/messages&lt;/code&gt; par un&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;tail -f /var/log/messages&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt; &lt;p&gt;(sur serveur.chezmoi.fr).&lt;/p&gt;
&lt;p&gt;Si la configuration de &lt;i&gt;firewall.entreprise.com&lt;/i&gt; et &lt;i&gt;firewall.chezmoi.fr&lt;/i&gt;, laissent passer les demandes de connexion sur le port 80 ou 110, vous pouvez vous connecter &#224; &lt;i&gt;serveur.chezmoi.fr&lt;/i&gt; avec la commande &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;ssh -p 80 nom@machine.domaine&lt;/code&gt; (resp. 110). Un client SSH pour Windows, &lt;a href=&#034;http://www.chiark.greenend.org.uk/~sgtatham/putty/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;putty&lt;/a&gt;, permet &#233;galement d'&#233;tablir une telle connexion en modifiant le num&#233;ro de port dans la fen&#234;tre principale de session (remplacer 22 par 80, resp. 110 dans le champ ad&#233;quat)&lt;span class=&#034;spip_note_ref&#034;&gt; [&lt;a href=&#034;#nb4-7&#034; class=&#034;spip_note&#034; rel=&#034;appendix&#034; title=&#034;Vous comprenez maintenant qu'il est possible de faire tourner n'importe quel (&#8230;)&#034; id=&#034;nh4-7&#034;&gt;7&lt;/a&gt;]&lt;/span&gt;.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Changer les ports utilis&#233;s par les services&lt;/h2&gt;&lt;div class='spip_document_84 spip_document spip_documents spip_document_image spip_documents_right spip_document_right'&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;img src='https://clx.asso.fr/spip/local/cache-vignettes/L282xH193/doc-84-0a67a.png?1760211351' width='282' height='193' alt='' /&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;Comment se connecter au port 110 ou 80 de &lt;i&gt;serveur.chezmoi.fr&lt;/i&gt; avec SSH, alors que cet ordinateur h&#233;berge d&#233;j&#224; un serveur POP3 et un&lt;br class='autobr' /&gt;
serveur HTTP ? &lt;br class='autobr' /&gt;
Il y a une astuce pour emp&#234;cher plusieurs services d'&#233;couter les m&#234;mes ports (ici &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;sshd&lt;/code&gt; et &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;httpd&lt;/code&gt; &#233;coutent sur le m&#234;me port : le port 80).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Changer le port sur lequel le d&#233;mon SSH &#233;coute&lt;/strong&gt;&lt;br&gt;
Plut&#244;t que laisser &#233;couter le d&#233;mon &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;sshd&lt;/code&gt; sur toutes les adresses locales de la machine, c'est-&#224;-dire l'adresse de votre&lt;br class='autobr' /&gt;
LAN, l'adresse d&#233;livr&#233;e par votre fournisseur d'acc&#232;s Internet (FAI)&lt;span class=&#034;spip_note_ref&#034;&gt; [&lt;a href=&#034;#nb4-8&#034; class=&#034;spip_note&#034; rel=&#034;appendix&#034; title=&#034;d'autant plus si votre machine est connect&#233;e &#224; Internet via l'ADSL&#034; id=&#034;nh4-8&#034;&gt;8&lt;/a&gt;]&lt;/span&gt; et l'adresse localhost, nous allons affiner un peu la configuration de &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;sshd&lt;/code&gt;, en associant les ports &#224; des adresses pr&#233;cises.&lt;br class='autobr' /&gt;
Dans le &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/etc/ssh/sshd_config&lt;/code&gt; de &lt;i&gt;serveur.chezmoi.fr&lt;/i&gt;, supprimez les modifications pr&#233;c&#233;dentes de mani&#232;re &#224; obtenir &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;Port 22&lt;/code&gt;. Ins&#233;rez ensuite les lignes suivantes :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;ListenAddress 127.0.0.1:22 ListenAddress [VotreAdresseProvider]:110 ListenAddress [VotreAdresseProvider]:80&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Que disent ces lignes ? Que le d&#233;mon &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;sshd&lt;/code&gt; va &#233;couter sur le port 22 si les demandes entrent par l'adresse localhost (127.0.0.1), et sur les ports 110 et 80 si les requ&#234;tes parviennent &#224; l'adresse publique &lt;i&gt;VotreAdresseProvider&lt;/i&gt;, fournie par votre FAI .&lt;/p&gt;
&lt;p&gt;Pour trouver &lt;i&gt;VotreAdresseProvider&lt;/i&gt;, saisissez la commande &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;ifconfig ppp0&lt;/code&gt; par exemple (avec une liaison RNIS, il s'agit de ippp0). Rep&#233;rez ensuite &lt;i&gt;inet adr&lt;/i&gt; qui correspond &#224; l'adresse attribu&#233;e par votre FAI.&lt;/p&gt;
&lt;p&gt;L'astuce, c'est que le d&#233;mon SSH n'&#233;coute pas sur les ports 80 et 110 sur l'adresse localhost, cela sera utilis&#233; par la suite.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Configuration du serveur Apache&lt;/strong&gt;&lt;br&gt;
Il faut maintenant configurer le serveur HTTP Apache pour qu'il &lt;i&gt;n'&#233;coute pas&lt;/i&gt; sur le port 80 associ&#233; &#224; l'adresse&lt;br class='autobr' /&gt;
publique de votre FAI, mais uniquement sur le port 80 de l'adresse localhost. En premier lieu, nous allons le forcer &#224; &#233;couter sur un autre port : 8081.&lt;/p&gt;
&lt;p&gt;Ouvrez le fichier &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/etc/apache/httpd.conf&lt;/code&gt; (ou &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/etc/httpd/conf/httpd.conf&lt;/code&gt; ou &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/etc/httpd/httpd.conf&lt;/code&gt; en&lt;br class='autobr' /&gt;
fonction de votre distribution (la commande &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;locate httpd.conf&lt;/code&gt; devrait vous renseigner sur l'emplacement exact).&lt;br class='autobr' /&gt;
Remplacez 80 par 8081 dans la ligne :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;Port 80&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Vous obtenez alors :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;Port 8081&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Nous verrons plus tard comment pr&#233;ciser l'adresse sur laquelle les serveurs HTTP &#233;coutent les demandes de connexion.&lt;/p&gt;
&lt;p&gt;Red&#233;marrez ensuite apache &#224; l'aide de &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;kill -HUP &lt;/code&gt;&lt;i&gt;PID du &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;httpd&lt;/code&gt; qui a le plus petit num&#233;ro&lt;/i&gt; ou de &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/etc/init.d/apache restart&lt;/code&gt;, et v&#233;rifiez qu'il &#233;coute bien sur le port 8081 en vous connectant via telnet :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;# telnet localhost 8081 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'.&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Tapez&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;GET /&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Ajoutez une ligne vide (appuyez sur la touche Entr&#233;e), et la page index.html devrait appara&#238;tre (enfin son code source, bien s&#251;r).&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Forwarder un port avec le protocole SSH&lt;/h2&gt;
&lt;p&gt;La partie &lt;i&gt;serveur.chezmoi.fr&lt;/i&gt; est maintenant configur&#233;e, &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;ssh&lt;/code&gt; &#233;coute sur le port 80, est joignable depuis votre client distant, Apache &#233;coute sur le port 8081, et sur localhost:80&lt;/p&gt;
&lt;p&gt;Une autre astuce va &#234;tre employ&#233;e afin de cr&#233;er le tunnel SSH. Nous allons dire au client SSH, sur &lt;i&gt;a.entreprise.com&lt;/i&gt; d'&#233;couter sur le port 80, et de le &lt;i&gt;binder&lt;/i&gt; (c'est-&#224;-dire &lt;i&gt;relier&lt;/i&gt;) &#224; un port donn&#233; de &lt;i&gt;serveur.chezmoi.fr&lt;/i&gt;.&lt;/p&gt;
&lt;p&gt;Votre client distant (a.entreprise.com) enverra toutes les demandes de connexion le port 80 qui lui seront faites au serveur distant, &lt;i&gt;serveur.chezmoi.fr&lt;/i&gt;, qui se chargera de faire parvenir la connexion &#224; l'adresse IP et le port que vous avez pr&#233;cis&#233; &#224; l'ouverture de la connexion SSH. C'est, en quelque sorte, une t&#233;l&#233;portation de connexions IP. Un peu compliqu&#233; &#224; comprendre, mais tr&#232;s tr&#232;s pratique &#224; l'usage. D'ailleurs, d'&lt;a href=&#034;http://sicwww.epfl.ch/SIC/diode/ssh.html&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;autres ont fait beaucoup mieux&lt;/a&gt; que moi, en terme de p&#233;dagogie sur SSH.&lt;/p&gt;
&lt;p&gt;Nous allons demander de &lt;i&gt;forwarder&lt;/i&gt;&lt;span class=&#034;spip_note_ref&#034;&gt; [&lt;a href=&#034;#nb4-9&#034; class=&#034;spip_note&#034; rel=&#034;appendix&#034; title=&#034;&#224; ne pas confondre avec translater, qui d&#233;signe une autre op&#233;ration en r&#233;seau.&#034; id=&#034;nh4-9&#034;&gt;9&lt;/a&gt;]&lt;/span&gt; le port 80 de localhost, vers le port 8081 du &lt;i&gt;serveur.chezmoi.fr&lt;/i&gt;.&lt;br class='autobr' /&gt;
C'est exactement comme si on faisait un lien symbolique entre les deux ports, en utilisant le tunnel SSH &#233;tabli entre les serveurs&lt;span class=&#034;spip_note_ref&#034;&gt; [&lt;a href=&#034;#nb4-10&#034; class=&#034;spip_note&#034; rel=&#034;appendix&#034; title=&#034;Il est tout &#224; fait possible, par ce m&#234;me proc&#233;d&#233;, de forwarder n'importe (&#8230;)&#034; id=&#034;nh4-10&#034;&gt;10&lt;/a&gt;]&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;Dans le man, ils expliquent le &lt;i&gt;forwarding&lt;/i&gt; (en anglais sur ma machine) de la sorte :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;# man ssh ... -L port:host:hostport Specifies that the given port on the local (client) host is to be forwarded to the given host and port on the remote side. This works by allocating a socket to listen to port on the local side, and whenever a connexion is made to this port, the connection is forwarded over the secure channel, and a connection is made to host port hostport from the remote machine. Port forwardings can also be specified in the configuration file. Only root can for&#173;ward privileged ports.&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Attention, il est bien pr&#233;cis&#233; que seul l'utilisateur &lt;strong&gt;root&lt;/strong&gt; a le droit de forwarder le port 80 local vers une machine distante via SSH.&lt;/p&gt;
&lt;p&gt;En pratique, &#231;a se passe comme &#231;a :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;ssh -p 80 nom@serveur.chezmoi.fr -L 80:localhost:8081&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Ce qui signifie que le client SSH enverra toutes les demandes de connexion qui lui seront faites, &#224; &lt;i&gt;serveur.chezmoi.fr&lt;/i&gt;, qui se chargera de les acheminer sur localhost:8081 (c'est &#224; dire lui m&#234;me).&lt;/p&gt;
&lt;p&gt;Une fois votre mot de passe tap&#233;, si vous n'utilisez pas de cl&#233; RSA, la connexion SSH est &#233;tablie. V&#233;rifiez que le tunnel est bien fonctionnel (&#224; partir d'une autre console) :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;# telnet localhost 80 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'.&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Tapez&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;GET /&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;suivi d'une ligne vide, la page index.html devrait appara&#238;tre. Vous &#234;tes s&#251;r que le tunnel SSH fonctionne, et que le port 80 est bien &lt;i&gt;forward&#233;&lt;/i&gt; sur votre serveur.&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;# telnet localhost 8081 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'.&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Tapez&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;GET /&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;suivi d'une ligne vide, et la page index.html devrait appara&#238;tre.&lt;/p&gt;
&lt;p&gt;J'attire votre attention sur ce point. Vous avez, gr&#226;ce &#224; la commande pr&#233;c&#233;dente, &lt;i&gt;forward&#233;&lt;/i&gt; un service, pour &lt;i&gt;faire comme si&lt;/i&gt; le service Web h&#233;berg&#233; sur &lt;i&gt;serveur.chezmoi.fr&lt;/i&gt; &#233;tait h&#233;berg&#233; sur votre client &lt;i&gt;a.entreprise.com&lt;/i&gt;. Si vous ouvrez votre navigateur web, et si vous vous connectez sur &#034;localhost&#034;, la pseudo-interface locale, vous acc&#233;dez aux services Web de votre serveur.&lt;br&gt;
Il est tout &#224; fait possible de faire de m&#234;me avec l'ensemble des services de votre serveur distant, afin de les utiliser depuis votre client local. Il vous suffit d'ajouter autant de fois le param&#232;tre &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;-L&lt;/code&gt; que n&#233;c&#233;ssaire, lorsque vous lancez &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;ssh&lt;/code&gt;.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Utiliser Putty&lt;/h2&gt;
&lt;p&gt;Si vous n'avez pas de poste sous Linux &#224; disposition, mais une machine sous Windows, la version de d&#233;veloppement du logiciel &lt;a href=&#034;http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Putty&lt;/a&gt; vous permettra d'utiliser les fonctions de &lt;i&gt;port forwarding&lt;/i&gt; de &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;ssh&lt;/code&gt;.&lt;br class='autobr' /&gt;
T&#233;l&#233;chargez la version de d&#233;veloppement, et affichez les param&#232;tres &lt;strong&gt;SSH / Tunnels&lt;/strong&gt; afin de d&#233;finir une translation du port 80 local, vers l'adresse &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;localhost:8081&lt;/code&gt;. La capture d'&#233;cran ci-dessous vous montre les param&#232;tres &#224; pr&#233;ciser :&lt;/p&gt;
&lt;div class='spip_document_76 spip_document spip_documents spip_document_image spip_documents_center spip_document_center spip_document_avec_legende' data-legende-len=&#034;28&#034; data-legende-lenx=&#034;&#034;
&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;img src='https://clx.asso.fr/spip/local/cache-vignettes/L426xH435/doc-76-0ce52.png?1760211351' width='426' height='435' alt='' /&gt;
&lt;figcaption class='spip_doc_legende'&gt; &lt;div class='spip_doc_titre '&gt;&lt;strong&gt;La page tunneling de putty
&lt;/strong&gt;&lt;/div&gt; &lt;/figcaption&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;Puis cliquez sur ajouter pour cr&#233;er le tunnel.&lt;br class='autobr' /&gt;
N'oubliez pas de sauvegarder la configuration que vous venez de d&#233;finir afin de la r&#233;utiliser lors de vos prochaines connexions sur &lt;i&gt;serveur.chezmoi.fr&lt;/i&gt;.&lt;br class='autobr' /&gt;
Je ne vais pas ici vous donnner le mode d'emploi de Putty, pour cela &lt;a href=&#034;http://www.chiark.greenend.org.uk/~sgtatham/putty/docs.html&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;reportez-vous au site de putty&lt;/a&gt;. Ah ben oui, c'est en anglais. Eh, oh, je suis pas votre p&#232;re, hein ?&lt;/p&gt;
&lt;p&gt;Notez bien qu'il est l&#224; aussi possible de &lt;i&gt;forwarder&lt;/i&gt; plusieurs services, pour que le client acc&#232;de par exemple, au serveur Web, &#224; la messagerie, &#224; sa base de donn&#233;es mysql, &#224; un serveur vnc (pour de la prise de contr&#244;le &#224; distance) vers un PC sous Windows, sous Linux, etc.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Apache ne marche plus tr&#232;s bien...&lt;/h2&gt;
&lt;p&gt;Votre tunnel SSH est effectif. Vous vous connectez &#224; votre serveur sur le port 80, et le port 80 local du poste client &lt;i&gt;a.entreprise.com&lt;/i&gt; est redirig&#233; vers le port 8081 local de &lt;i&gt;serveur.chezmoi.fr&lt;/i&gt;.&lt;/p&gt;
&lt;p&gt;Le serveur distant fait partie d'un LAN, et le serveur Web Apache ne marche plus... Les utilisateurs de &lt;i&gt;chezmoi.fr&lt;/i&gt; ne sont pas contents de rajouter le num&#233;ro de port :8081 dans la barre d'adresse de leur fureteur Web &#224; chaque fois qu'ils tentent de se connecter au serveur Web de &lt;i&gt;serveur.chezmoi.fr&lt;/i&gt;. C'est compr&#233;hensible. Pour les calmer, il existe une solution du m&#234;me tonneau que celle que nous avons vue pour &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;ssh&lt;/code&gt;. Dans le fichier &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/etc/apache/httpd.conf&lt;/code&gt; de &lt;i&gt;serveur.chezmoi.fr&lt;/i&gt;, ajoutez les lignes :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;Listen 127.0.0.1:80 Listen serveur.chezmoi.fr:80&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Red&#233;marrez Apache, et hop, plus de probl&#232;mes depuis le r&#233;seau local de votre serveur distant (&lt;i&gt;serveur.chezmoi.fr&lt;/i&gt;).&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Et mon cucipop ?&lt;/h2&gt;
&lt;p&gt;Bon. Ben dans le script de conf de &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;cucipop&lt;/code&gt;, y'a pas un truc comme &#034;Ecouter sur le port n&#176;XX&#034;, des fois ?&lt;br class='autobr' /&gt;
Allez, &lt;i&gt;man&lt;/i&gt; et &lt;i&gt;google&lt;/i&gt; sont vos amis. J'ai des mails &#224; lire, moi. Je l'ai d&#233;j&#224; dit, je suis pas otre p&#232;re, non mais des fois !&lt;/p&gt;&lt;/div&gt;
		&lt;hr /&gt;
		&lt;div class='rss_notes'&gt;&lt;div id=&#034;nb4-1&#034;&gt;
&lt;p&gt;&lt;span class=&#034;spip_note_ref&#034;&gt;[&lt;a href=&#034;#nh4-1&#034; class=&#034;spip_note&#034; title=&#034;Notes 4-1&#034; rev=&#034;appendix&#034;&gt;1&lt;/a&gt;] &lt;/span&gt;Il s'agit d'une solution pour le &lt;a href=&#034;http://www.cyberworkers.com/news/Article_SSH.html&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;t&#233;l&#233;travail&lt;/a&gt; et la s&#233;curit&#233;.&lt;/p&gt;
&lt;/div&gt;&lt;div id=&#034;nb4-conventions_20typographiques&#034;&gt;
&lt;p&gt;&lt;span class=&#034;spip_note_ref&#034;&gt;[&lt;a href=&#034;#nh4-conventions_20typographiques&#034; class=&#034;spip_note&#034; title=&#034;Notes 4-conventions_20typographiques&#034; rev=&#034;appendix&#034;&gt;conventions typographiques&lt;/a&gt;] &lt;/span&gt; :
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; Un terme en majuscules (SSH) repr&#233;sente le nom du protocole,
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; Un terme en police fixe (&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;ssh&lt;/code&gt;) repr&#233;sente la commande &#224; taper telle quelle,
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; Un nom en &lt;i&gt;italique&lt;/i&gt; (&lt;i&gt;serveur.chezmoi.fr&lt;/i&gt;) repr&#233;sente un nom de machine, de domaine, ou un terme anglais pour lequelle une traduction nuirait &#224; la comprehension (d&#233;j&#224; s&#233;rieusement hypoth&#233;qu&#233;e ;-).&lt;/p&gt;
&lt;/div&gt;&lt;div id=&#034;nb4-nota&#034;&gt;
&lt;p&gt;&lt;span class=&#034;spip_note_ref&#034;&gt;[&lt;a href=&#034;#nh4-nota&#034; class=&#034;spip_note&#034; title=&#034;Notes 4-nota&#034; rev=&#034;appendix&#034;&gt;nota&lt;/a&gt;] &lt;/span&gt;toujours commencer une pr&#233;sentation par une page de man. &#199;a forge le caract&#232;re.&lt;/p&gt;
&lt;/div&gt;&lt;div id=&#034;nb4-2&#034;&gt;
&lt;p&gt;&lt;span class=&#034;spip_note_ref&#034;&gt;[&lt;a href=&#034;#nh4-2&#034; class=&#034;spip_note&#034; title=&#034;Notes 4-2&#034; rev=&#034;appendix&#034;&gt;2&lt;/a&gt;] &lt;/span&gt;Du moins la version que nous utilisons au CLX, c'est &#224; dire Openssh.&lt;/p&gt;
&lt;/div&gt;&lt;div id=&#034;nb4-3&#034;&gt;
&lt;p&gt;&lt;span class=&#034;spip_note_ref&#034;&gt;[&lt;a href=&#034;#nh4-3&#034; class=&#034;spip_note&#034; title=&#034;Notes 4-3&#034; rev=&#034;appendix&#034;&gt;3&lt;/a&gt;] &lt;/span&gt;L'&lt;a href=&#034;http://www.sockets.com/services.htm&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;IANA&lt;/a&gt; recense tous les services officiellement utilis&#233;s et les num&#233;ros de port associ&#233;s. On apelle d'ailleurs ces ports (entre 1 et 1024) des ports privil&#233;gi&#233;s, seul root a le droit d'y faire &#233;couter un d&#233;mon. La liste n'est pas exhaustive, vous comprendrez pourquoi plus bas.&lt;/p&gt;
&lt;/div&gt;&lt;div id=&#034;nb4-4&#034;&gt;
&lt;p&gt;&lt;span class=&#034;spip_note_ref&#034;&gt;[&lt;a href=&#034;#nh4-4&#034; class=&#034;spip_note&#034; title=&#034;Notes 4-4&#034; rev=&#034;appendix&#034;&gt;4&lt;/a&gt;] &lt;/span&gt;le PC familial, par exemple, sur lequel sont install&#233;s un certain nombre de services tels que POP SMTP ou HTTP. Sur notre sch&#233;ma, c'est serveur.chezmoi.fr.&lt;/p&gt;
&lt;/div&gt;&lt;div id=&#034;nb4-5&#034;&gt;
&lt;p&gt;&lt;span class=&#034;spip_note_ref&#034;&gt;[&lt;a href=&#034;#nh4-5&#034; class=&#034;spip_note&#034; title=&#034;Notes 4-5&#034; rev=&#034;appendix&#034;&gt;5&lt;/a&gt;] &lt;/span&gt;En effet, le red&#233;marrage du d&#233;mon &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;sshd&lt;/code&gt; se fait en deux &#233;tapes.&lt;/p&gt;
&lt;ol class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; arr&#234;t du d&#233;mon&lt;/li&gt;&lt;li&gt; d&#233;marrage du d&#233;mon&lt;br class='autobr' /&gt;
Si vous perdez la connexion &#8212; ce qui est logique &#8212; apr&#232;s la premi&#232;re commande, tous les process fils de votre terminal seront tu&#233;s, dont le process de d&#233;marrage de &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;sshd&lt;/code&gt; ; &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;sshd&lt;/code&gt; ne sera pas red&#233;marr&#233;.&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;Si vous devez red&#233;marrer, &#224; distance, le d&#233;mon &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;sshd&lt;/code&gt; et que le -HUP ne fonctionne pas, et si votre &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/etc/ssh/sshd_config&lt;/code&gt; ne contient pas d'erreur, vous pouvez programmer un red&#233;marrage de &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;sshd&lt;/code&gt; dans la &lt;i&gt;crontab&lt;/i&gt;.&lt;br class='autobr' /&gt;
Vous perdrez la connexion avec le serveur, c'est vrai, mais le processus de red&#233;marrage ne sera pas tu&#233; &#8212; puisque le p&#232;re de ce process, c'est &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;cron&lt;/code&gt; &#8212; contrairement &#224; un &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/etc/init.d/sshd&lt;/code&gt; restart tap&#233; depuis une console &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;ssh&lt;/code&gt;.&lt;/p&gt;
&lt;/div&gt;&lt;div id=&#034;nb4-6&#034;&gt;
&lt;p&gt;&lt;span class=&#034;spip_note_ref&#034;&gt;[&lt;a href=&#034;#nh4-6&#034; class=&#034;spip_note&#034; title=&#034;Notes 4-6&#034; rev=&#034;appendix&#034;&gt;6&lt;/a&gt;] &lt;/span&gt;Un &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;ssh&lt;/code&gt; sur un client distant ouvre une fen&#234;tre d'affichage, une connexion sur le serveur, et ex&#233;cute un shell pour ex&#233;cuter les commandes.&lt;br class='autobr' /&gt;
&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;screen&lt;/code&gt; ouvre un second &lt;i&gt;shell&lt;/i&gt; un peu particulier. La commande &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;screen -r&lt;/code&gt; permettra de retrouver votre session &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;ssh&lt;/code&gt; initiale ; vous pouvez m&#234;me forcer &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;screen&lt;/code&gt; &#224; d&#233;tacher la session et la rattacher au terminal que vous utilisez, avec un &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;screen -rd&lt;/code&gt;, par exemple pour r&#233;cup&#233;rer une session ouverte sur l'un des terminaux virtuels de votre serveur distant, et vice-versa. &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;man screen&lt;/code&gt; pour en savoir plus.&lt;/p&gt;
&lt;/div&gt;&lt;div id=&#034;nb4-7&#034;&gt;
&lt;p&gt;&lt;span class=&#034;spip_note_ref&#034;&gt;[&lt;a href=&#034;#nh4-7&#034; class=&#034;spip_note&#034; title=&#034;Notes 4-7&#034; rev=&#034;appendix&#034;&gt;7&lt;/a&gt;] &lt;/span&gt;Vous comprenez maintenant qu'il est possible de faire tourner n'importe quel service sur n'importe quel port, l'usage, et l'IANA, veulent pourtant que l'on respecte au maximum les fonctions associ&#233;es aux diff&#233;rents ports &#8212; pour &#233;viter de s'y perdre &#8212;.&lt;/p&gt;
&lt;/div&gt;&lt;div id=&#034;nb4-8&#034;&gt;
&lt;p&gt;&lt;span class=&#034;spip_note_ref&#034;&gt;[&lt;a href=&#034;#nh4-8&#034; class=&#034;spip_note&#034; title=&#034;Notes 4-8&#034; rev=&#034;appendix&#034;&gt;8&lt;/a&gt;] &lt;/span&gt;d'autant plus si votre machine est connect&#233;e &#224;&lt;br class='autobr' /&gt;
Internet via l'ADSL&lt;/p&gt;
&lt;/div&gt;&lt;div id=&#034;nb4-9&#034;&gt;
&lt;p&gt;&lt;span class=&#034;spip_note_ref&#034;&gt;[&lt;a href=&#034;#nh4-9&#034; class=&#034;spip_note&#034; title=&#034;Notes 4-9&#034; rev=&#034;appendix&#034;&gt;9&lt;/a&gt;] &lt;/span&gt;&#224; ne pas confondre avec &lt;i&gt;translater&lt;/i&gt;, qui d&#233;signe une autre op&#233;ration en r&#233;seau.&lt;/p&gt;
&lt;/div&gt;&lt;div id=&#034;nb4-10&#034;&gt;
&lt;p&gt;&lt;span class=&#034;spip_note_ref&#034;&gt;[&lt;a href=&#034;#nh4-10&#034; class=&#034;spip_note&#034; title=&#034;Notes 4-10&#034; rev=&#034;appendix&#034;&gt;10&lt;/a&gt;] &lt;/span&gt;Il est tout &#224; fait possible, par ce m&#234;me proc&#233;d&#233;, de &lt;i&gt;forwarder&lt;/i&gt; n'importe quoi n'importe o&#249;. Dans les deux sens. La seule limite &#233;tant l'utilisation, &#224; un moment donn&#233; d'un des port de l'un des deux bout du tunnel ; mais on peut tr&#232;s bien faire un tel lien entre un serveur Web, chez &lt;i&gt;entreprise.com&lt;/i&gt;, et un des ports de &lt;i&gt;serveur.chezmoi.com&lt;/i&gt; (puisque c'est l'un des bouts du tunnel ssh)&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;
		&lt;div class='rss_ps'&gt;&lt;p&gt;Si vous souhaitez aller plus loin, un support de &lt;a href=&#034;http://www.laissus.fr/cours/cours.html&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;cours TCP/IP&lt;/a&gt; est disponible sur le site Web du LAISSUS.&lt;/p&gt;
&lt;p&gt;Vous pouvez consulter le tr&#218;s bon et tr&#218;s classique bouquin de &lt;strong&gt;Tannenbaum&lt;/strong&gt;, ou celui de &lt;strong&gt;Pujolles&lt;/strong&gt;. Attention, c'est technique (et sauvage, accrochez-vous). Pointez-vous dans n'importe quelle bonne librairie scientifique, demandez le &lt;strong&gt;Tannenbaum&lt;/strong&gt;, vous aurez un pav&#233; de 500 Pages.&lt;/p&gt;
&lt;p&gt;Sinon, l'article &lt;a href='https://clx.asso.fr/spip/?Construire-son-reseau-d-entreprise' class=&#034;spip_in&#034;&gt;Construire son r&#233;seau d'entreprise&lt;/a&gt;, nettement plus abordable, techniquement parlant, vous donnera de s&#233;rieuses bases en r&#233;seau.&lt;/p&gt;
&lt;p&gt;Pour en savoir plus sur les VPN, vous pouvez consulter &lt;a href=&#034;http://www.ibiblio.org/pub/Linux/docs/HOWTO/translations/fr/a-jour/ps/VPN-HOWTO.ps.gz&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;VPN Acc&#218;s securis&#233; &#224; des pages web priv&#233;es et transferts via ftp&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Enfin, les INCOUTOURNABLES &lt;i&gt;HOWTO&lt;/i&gt; :
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; &lt;a href=&#034;http://fr.tldp.org/HOWTO/a-jour/html/VPN-HOWTO.html&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;VPN HOWTO&lt;/a&gt;
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; &lt;a href=&#034;http://fr.tldp.org/HOWTO/a-jour/html/NET4-HOWTO.html&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;NET4 HOWTO&lt;/a&gt;
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; &lt;a href=&#034;http://www.tldp.org/LDP/nag/node1.html&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Network Administrator Guide (NAG)&lt;/a&gt; qui existe aussi en version Fran&#231;aise, chez O'Reilly, dans toutes les libraires dignes de ce nom voire moins, puique je l'ai m&#234;me vu &#224; Carrefour (!).&lt;/p&gt;&lt;/div&gt;
		</content:encoded>


		

	</item>
	<item xml:lang="fr">
		<title>Les commandes Linux</title>
		<link>https://clx.asso.fr/spip/?Les-commandes-Linux</link>
		<guid isPermaLink="true">https://clx.asso.fr/spip/?Les-commandes-Linux</guid>
		<dc:date>2002-07-15T14:50:14Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Sebastien Couret</dc:creator>


		<dc:subject>Didacticiel</dc:subject>

		<description>&lt;p&gt;Les commandes shell UNIX ne sont pas toujours faciles &#224; retenir, mais elles sont tellement pratiques...&lt;br class='autobr' /&gt;
Voici une liste des commandes les plus usit&#233;es avec un bref descriptif. &lt;i&gt;man&lt;/i&gt; will do the rest ...&lt;/p&gt;

-
&lt;a href="https://clx.asso.fr/spip/?-Installation-Administration-de-base-de-Linux-" rel="directory"&gt;Installation / Administration de base de Linux&lt;/a&gt;

/ 
&lt;a href="https://clx.asso.fr/spip/?+-Didacticiel-+" rel="tag"&gt;Didacticiel&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;Les commandes shell UNIX ne sont pas toujours faciles &#224; retenir, mais elles sont tellement pratiques...&lt;br class='autobr' /&gt;
Voici une liste des commandes les plus usit&#233;es avec un bref descriptif. Une fois que vous connaissez le nom et la fonction de base, man will do the rest ...&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;&lt;a href=&#034;#a&#034; class=&#034;spip_ancre&#034;&gt;A&lt;/a&gt;|&lt;a href=&#034;#b&#034; class=&#034;spip_ancre&#034;&gt;B&lt;/a&gt;|&lt;a href=&#034;#b&#034; class=&#034;spip_ancre&#034;&gt;C&lt;/a&gt;|&lt;a href=&#034;#d&#034; class=&#034;spip_ancre&#034;&gt;D&lt;/a&gt;|&lt;a href=&#034;#e&#034; class=&#034;spip_ancre&#034;&gt;E&lt;/a&gt;|&lt;a href=&#034;#f&#034; class=&#034;spip_ancre&#034;&gt;F&lt;/a&gt;|&lt;a href=&#034;#g&#034; class=&#034;spip_ancre&#034;&gt;G&lt;/a&gt;|&lt;a href=&#034;#h&#034; class=&#034;spip_ancre&#034;&gt;H&lt;/a&gt;|&lt;a href=&#034;#i&#034; class=&#034;spip_ancre&#034;&gt;I&lt;/a&gt;|&lt;a href=&#034;#j&#034; class=&#034;spip_ancre&#034;&gt;J&lt;/a&gt;|&lt;a href=&#034;#k&#034; class=&#034;spip_ancre&#034;&gt;K&lt;/a&gt;|&lt;a href=&#034;#l&#034; class=&#034;spip_ancre&#034;&gt;L&lt;/a&gt;|&lt;a href=&#034;#m&#034; class=&#034;spip_ancre&#034;&gt;M&lt;/a&gt;|&lt;a href=&#034;#n&#034; class=&#034;spip_ancre&#034;&gt;N&lt;/a&gt;|&lt;a href=&#034;#o&#034; class=&#034;spip_ancre&#034;&gt;O&lt;/a&gt;|&lt;a href=&#034;#p&#034; class=&#034;spip_ancre&#034;&gt;P&lt;/a&gt;|&lt;a href=&#034;#q&#034; class=&#034;spip_ancre&#034;&gt;Q&lt;/a&gt;|&lt;a href=&#034;#r&#034; class=&#034;spip_ancre&#034;&gt;R&lt;/a&gt;|&lt;a href=&#034;#s&#034; class=&#034;spip_ancre&#034;&gt;S&lt;/a&gt;|&lt;a href=&#034;#t&#034; class=&#034;spip_ancre&#034;&gt;T&lt;/a&gt;|&lt;a href=&#034;#u&#034; class=&#034;spip_ancre&#034;&gt;U&lt;/a&gt;|&lt;a href=&#034;#v&#034; class=&#034;spip_ancre&#034;&gt;V&lt;/a&gt;|&lt;a href=&#034;#w&#034; class=&#034;spip_ancre&#034;&gt;W&lt;/a&gt;|&lt;a href=&#034;#x&#034; class=&#034;spip_ancre&#034;&gt;X&lt;/a&gt;|&lt;a href=&#034;#y&#034; class=&#034;spip_ancre&#034;&gt;Y&lt;/a&gt;|&lt;a href=&#034;#z&#034; class=&#034;spip_ancre&#034;&gt;Z&lt;/a&gt;&lt;/p&gt;
&lt;hr class=&#034;spip&#034; /&gt;&lt;a name=&#034;a&#034;&gt;
&lt;p&gt;&lt;strong&gt;a2p&lt;/strong&gt; Convertisseur de awk vers Perl&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;a2aps&lt;/strong&gt; Conversion d'ASCII en PostScript&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;adb&lt;/strong&gt; Debogueur&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;adduser&lt;/strong&gt; Ajout d'un nouvel utilisateur&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;alias&lt;/strong&gt; D&#233;finition d'abr&#233;viation de commandes&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;apropos&lt;/strong&gt; Affichage des informations sur un mot clef (man -k)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;ar&lt;/strong&gt; Archivage de fichiers (bibliotheques .a)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;arp&lt;/strong&gt;	Affichage de la table de conversion des adresses MAC&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;at&lt;/strong&gt;	Execution d'une commande &#224; un moment pr&#233;cis&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;atq&lt;/strong&gt;	Affichage de la liste des commandes en attente pour un utilisateur&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;atrm&lt;/strong&gt; Supression de la totalit&#233; des commandes en attente&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;as&lt;/strong&gt;	Compilateur Assembleur&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;ash&lt;/strong&gt;	Appel du A-shell&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;awk&lt;/strong&gt; Language de programmation pour traitement de fichier&lt;/p&gt;
&lt;/a&gt;
&lt;HR&gt;&lt;a name=&#034;b&#034;&gt;
&lt;p&gt;&lt;strong&gt;banner&lt;/strong&gt; Affichage d'une banni&#232;re&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;basename&lt;/strong&gt;	Extraction du nom de fichier d'un chemin d'acc&#232;s&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;bash&lt;/strong&gt; Appel du Bourne Again Shell&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;bc&lt;/strong&gt; Interpr&#233;teur de calcul&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;bg&lt;/strong&gt; Execution d'un processus en arri&#232;re-plan&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;break&lt;/strong&gt;	Sortie d'une boucle&lt;/p&gt;
&lt;/a&gt;
&lt;HR&gt;&lt;a name=&#034;c&#034;&gt;
&lt;p&gt;&lt;strong&gt;cal&lt;/strong&gt; Affichage d'un calendrier&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;captoinfo&lt;/strong&gt; Traduction termcap-&gt;terminfo&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;case&lt;/strong&gt; Structure de controle a choix multiple&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;cat&lt;/strong&gt; Afficher un fichier (texte)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;catman&lt;/strong&gt; Mise &#224; jour de la base apropos&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;cd&lt;/strong&gt; Changement de r&#233;pertoire&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;cflow&lt;/strong&gt; Analyse du code source (Debogage)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;chfn&lt;/strong&gt; Modification des informations de finger&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;chgrp&lt;/strong&gt; Modification du groupe propri&#233;taire d'un fichier&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;chkconfig&lt;/strong&gt; Informations sur les niveaux de demarrage et les services&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;chmod&lt;/strong&gt; Changement des permissions d'acc&#233;s sur un fichier&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;chown&lt;/strong&gt; Modification du propri&#233;taire d'un fichier&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;chroot&lt;/strong&gt; Changement du r&#233;pertoire racine d'une commande&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;chsh&lt;/strong&gt; Changement du shell de connexion&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;ci&lt;/strong&gt; Stockage de la version courante (.v)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;clear&lt;/strong&gt; Effacement de l'&#233;cran&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;clock&lt;/strong&gt; Affichage de l'heure&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;cmp&lt;/strong&gt; Comparaison de deux fichiers&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;continue&lt;/strong&gt; Reprise d'une boucle interrompue avant son terme&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;co&lt;/strong&gt; Extrait la version d'un programme&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;cp&lt;/strong&gt; Copie de fichiers&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;cpio&lt;/strong&gt; Copie de fichier archive pour la sauvegarde&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;cpp&lt;/strong&gt; Compilateur C&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;crontab&lt;/strong&gt; Execution de commandes &#224; intervalles reguliers&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;ctags&lt;/strong&gt; Analyse du source (Debogage)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;cut&lt;/strong&gt; D&#233;coupage de lignes dans un fichier&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;cxref&lt;/strong&gt; Analyse du source (Debogage)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;cvs&lt;/strong&gt; Gestion de projet CVS&lt;/p&gt;
&lt;/a&gt;
&lt;HR&gt;&lt;a name=&#034;d&#034;&gt;
&lt;p&gt;&lt;strong&gt;date&lt;/strong&gt; Date et heure du syst&#232;me&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;dbx&lt;/strong&gt; Debogueur&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;dc&lt;/strong&gt; Desk Calculator (Calculatrice en notation Polonaise inverse)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;dd&lt;/strong&gt; Copie un disque ou une disquette bloc &#224; bloc&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;debugfs&lt;/strong&gt; Recherche d'erreurs dans un syst&#232;me de fichiers&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;depmod&lt;/strong&gt; Charge un module&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;df&lt;/strong&gt; Affiche l'space libre sur support de donn&#233;es&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;diff&lt;/strong&gt; Affiche les diff&#233;rences entre les fichiers (cf patch)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;domainname&lt;/strong&gt; Modifie le nom de domaine NIS&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;dosfsck&lt;/strong&gt; V&#233;rifie les secteurs d&#233;fectueux d'une partition DOS&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;du&lt;/strong&gt; Affiche l'espace occup&#233; par des fichiers pour chaque r&#233;pertoire&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;dump&lt;/strong&gt; Sauvegarde des fichiers&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;dumpe2fs&lt;/strong&gt; Affiche le d&#233;tail d'un syst&#232;me de fichier&lt;/p&gt;
&lt;/a&gt;
&lt;HR&gt;&lt;a name=&#034;e&#034;&gt;
&lt;p&gt;&lt;strong&gt;e2fsck&lt;/strong&gt; V&#233;rifie une partition LINUX (ext 2)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;echo&lt;/strong&gt; Affiche un texte&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;edquota&lt;/strong&gt; Changement des quotas d'espace disque&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;egrep&lt;/strong&gt; Recherche de fichiers avec filtres &#233;tendus&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;emacs&lt;/strong&gt; Editeur de texte emacs&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;env&lt;/strong&gt; Changement de l'environnement d'une variable&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;eval&lt;/strong&gt; Execution multiple de commande de shell&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;exit&lt;/strong&gt; Quitter le shell actuel&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;export&lt;/strong&gt; Permet d'exporter une variable d'environnement&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;expr&lt;/strong&gt; Exploitation et calcul d'expressions&lt;/p&gt;
&lt;/a&gt;
&lt;HR&gt;&lt;a name=&#034;f&#034;&gt;
&lt;p&gt;&lt;strong&gt;fdisk&lt;/strong&gt; Modifie la table de partitions&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;false&lt;/strong&gt; Valeur de retour standard des scripts du shell&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;fc&lt;/strong&gt; Rappel de lignes de commandes&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;fdisk&lt;/strong&gt; Changement des partitions d'un disque dur&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;fdformat&lt;/strong&gt; Formatte une disquette&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;fg&lt;/strong&gt; Executer un processus au premier plan&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;fgrep&lt;/strong&gt; Recherche rapide dans un fichier&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;file&lt;/strong&gt; Determiner le type du fichier&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;find&lt;/strong&gt; Recherche recursive de fichiers dans un r&#233;pertoire&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;finger&lt;/strong&gt; Finger des utilisateurs&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;for&lt;/strong&gt; Structure de contr&#244;le des boucles&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;free&lt;/strong&gt; Afficher la m&#233;moire libre&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;fsck&lt;/strong&gt; Contr&#244;le les secteurs d&#233;fectueux dans un syst&#232;me de fichiers&lt;/p&gt;
&lt;/a&gt;
&lt;HR&gt;&lt;a name=&#034;g&#034;&gt;
&lt;p&gt;&lt;strong&gt;gcc&lt;/strong&gt; Compilateur GNU C&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;gdb&lt;/strong&gt; Debugueur GNU&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;gpasswd&lt;/strong&gt; Gestion de propri&#233;t&#233;s de groupes&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;gproff&lt;/strong&gt; Analyse de performance GNU (profilage)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;groupadd&lt;/strong&gt; Ajout d'un groupe&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;groupdel&lt;/strong&gt; Suppression d'un groupe&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;groupmod&lt;/strong&gt; Changement des propri&#233;t&#233;s d'un groupe&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;groups&lt;/strong&gt; Affiche les groupes dont on fait partie&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;grpck&lt;/strong&gt; V&#233;rifie la syntaxe du contenu du fichier /etc/group&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;guile&lt;/strong&gt; Interpr&#233;teur LISP&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;gzip&lt;/strong&gt; (De)Compresse les fichiers portant l'extension .gz&lt;/p&gt;
&lt;/a&gt;
&lt;HR&gt;&lt;a name=&#034;h&#034;&gt;
&lt;p&gt;&lt;strong&gt;hostname&lt;/strong&gt;	Fixe ou affiche le nom de l'h&#244;te&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;hwclock&lt;/strong&gt; affiche l'heure de la carte m&#232;re (hardwareclock)&lt;/p&gt;
&lt;/a&gt;
&lt;HR&gt;&lt;a name=&#034;i&#034;&gt;
&lt;p&gt;&lt;strong&gt;id&lt;/strong&gt; Affiche le num&#233;ro de l'utilisateur courant ainsi que les groupe auquel ce dernier appartient&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;ident&lt;/strong&gt; Extrait le num&#233;ro de version d'un ex&#233;cutable&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;if&lt;/strong&gt; indique un test dans un script Shell (si...)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;ifconfig&lt;/strong&gt;	Affiche/configure les interfaces r&#233;seau et s&#233;rie (eth, ppp, l) disponibles&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;ifdown&lt;/strong&gt; Arr&#234;te une interface r&#233;seau ou s&#233;rie&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;ifup&lt;/strong&gt; D&#233;marre une interface r&#233;seau ou s&#233;rie&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;info&lt;/strong&gt; Appelle les pages infos&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;infocmp&lt;/strong&gt; Affiche la source d'une entr&#233;e terminfo&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;insmod&lt;/strong&gt; Chargement d'un module&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;ipcs&lt;/strong&gt; Affiche des infos sur la communication inter-process&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;ipfwadm&lt;/strong&gt; Configure le firewall ipchains (noyau 2.2)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;iptables&lt;/strong&gt; le module de filtrage (firewall) des noyaux 2.4&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;isapnp&lt;/strong&gt; Configure les p&#233;ripheriques ISA PNP (pLug and Play)&lt;/p&gt;
&lt;/a&gt;
&lt;HR&gt;&lt;a name=&#034;j&#034;&gt;
&lt;p&gt;&lt;strong&gt;jobs&lt;/strong&gt; Affiche les process qui s'ex&#233;cutent en t&#226;che de fond&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;join&lt;/strong&gt; Mixe deux fichiers&lt;/p&gt;
&lt;/a&gt;
&lt;HR&gt;&lt;a name=&#034;k&#034;&gt;
&lt;p&gt;&lt;strong&gt;key&lt;/strong&gt; [S/KEY] G&#233;n&#233;rateur de mot de passe&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;kill&lt;/strong&gt; Envoie des signaux aux processus&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;killall&lt;/strong&gt; Envoie un signal de fin d'ex&#233;cution au processus indiqu&#233;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;ksyms&lt;/strong&gt; Affiche les symboles export&#233;s par le noyau&lt;/p&gt;
&lt;/a&gt;
&lt;HR&gt;&lt;a name=&#034;l&#034;&gt;
&lt;p&gt;&lt;strong&gt;lclint&lt;/strong&gt; D&#233;tectt des imperfections dans un programme&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;less&lt;/strong&gt; Affiche un texte (possibilit&#233; de d&#233;placement, de recherche, etc.)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;let&lt;/strong&gt; Arithm&#233;tique dans le shell&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;lilo&lt;/strong&gt; Installe le secteur d'amorcage de lilo et permet de prendre en compte les modifications apport&#233;es au fichier /etc/lilo.conf&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;lint&lt;/strong&gt; D&#233;tecte des imperfections de programme&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;ln&lt;/strong&gt; Cr&#233;e un lien vers un fichier&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;locate&lt;/strong&gt; Retrouve rapidement le chemin pour parvenir &#224; un fichier d'apr&#232;s une partie ou l'int&#233;gralit&#233; de son nom entier&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;logger&lt;/strong&gt; Envoie des messages au &lt;br class='autobr' /&gt;
d&#233;mon syslogd&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;logname&lt;/strong&gt; Affichage du nom d'utilisateur&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;lpd&lt;/strong&gt; Lance le d&#233;mon d'impression BSD&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;lpq&lt;/strong&gt; Affiche des files d'attente d'impression&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;lpr&lt;/strong&gt; Imprime des fichiers&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;lprm&lt;/strong&gt; Supprime un job de la file d'attente&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;lptest&lt;/strong&gt; Teste les imprimantes&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;ls&lt;/strong&gt; Affiche le contenu du r&#233;pertoire courant&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;lsattr&lt;/strong&gt; Affiche les attributs &#233;tendus de fichiers&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;lsmod&lt;/strong&gt; Affiche les modules charg&#233;s en m&#233;moire&lt;/p&gt;
&lt;/a&gt;
&lt;HR&gt;&lt;a name=&#034;m&#034;&gt;
&lt;p&gt;&lt;strong&gt;mail&lt;/strong&gt;	Envoi et r&#233;ception d'e-mail&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;makewhatis&lt;/strong&gt; Cr&#233;e une base de donn&#233;es pour les mots-clefs de man&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;man&lt;/strong&gt; Affiche de l'aide en ligne&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;mattrib&lt;/strong&gt; Change les attributs d'un fichier MSDOS&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;mcd&lt;/strong&gt; Change de r&#233;pertoire MSDOS&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;mcopy&lt;/strong&gt; Copie un fichier MSDOS&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;mdel&lt;/strong&gt; Efface un fichier MSDOS&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;mdir&lt;/strong&gt; Affiche un r&#233;pertoire MSDOS&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;mdu&lt;/strong&gt; Affiche l'espace utilis&#233; par un r&#233;pertoire MSDOS&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;mesg&lt;/strong&gt; Gestion des acc&#232;s sur terminaux par write et talk&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;mkfatimage16&lt;/strong&gt; Cr&#233;e une image disque virtuelle pour DOSEMU&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;mformat&lt;/strong&gt; Formatte un systeme de fichier MSDOS&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;mkbootdisk&lt;/strong&gt; Cr&#233;e une disquette de d&#233;marrage&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;mkdir&lt;/strong&gt; Cr&#233;e un repertoire&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;mkdosfs&lt;/strong&gt; Cr&#233;e un systeme de fichiers MSDOS&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;mke2fs&lt;/strong&gt; Cr&#233;e un systeme de fichiers linux (ext2)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;mkfifo&lt;/strong&gt; Cr&#233;e dun tube nomm&#233;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;mknod&lt;/strong&gt; Cr&#233;e des fichiers de p&#233;riph&#233;rique et des FIFO&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;mkpasswd&lt;/strong&gt; Cr&#233;e un nouveau mot de passe&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;mkswap&lt;/strong&gt; Formatte la partition de swap&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;mlabel&lt;/strong&gt; Renomme un disque MSDOS&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;mmbd&lt;/strong&gt; Serveur de noms NetBIOS (netbios-ns)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;mmd&lt;/strong&gt; Cr&#233;e un repetore MSDOS&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;mmount&lt;/strong&gt; Monte un disque MSDOS&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;mmove&lt;/strong&gt; Monte ou renome un repertoire MSDOS&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;modprobe&lt;/strong&gt; Chargement d'un module&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;more&lt;/strong&gt; Afficher un fichier (texte) page par page&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;mount&lt;/strong&gt; Montage syst&#232;me de fichier&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;mpartition&lt;/strong&gt; Partition sur un disque MSDOS&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;mrd&lt;/strong&gt; Efface un r&#233;pertoire MSDOS&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;mren&lt;/strong&gt; Renomme un fichier MSDOS&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;mroff&lt;/strong&gt; Utilitaire de formatage des pages man&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;mtools&lt;/strong&gt; Affiche les commandes MSDOS utilisables&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;mtype&lt;/strong&gt; Affiche le contenu d'un fichier MSDOS&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;mv&lt;/strong&gt; D&#233;place ou renomme un fichier&lt;/p&gt;
&lt;/a&gt;
&lt;HR&gt;&lt;a name=&#034;n&#034;&gt;
&lt;p&gt;&lt;strong&gt;netcfg&lt;/strong&gt; Configure le r&#233;seau via une interface graphique&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;netstat&lt;/strong&gt; Affiche des infos sur la configuration r&#233;seau&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;nfstat&lt;/strong&gt; Affiche des statistiques sur RPC&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;newgrp&lt;/strong&gt; Change de groupe courant&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;nice&lt;/strong&gt; Modifie la priorit&#233; d'un process (valeur entre 1 et 20)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;nohup&lt;/strong&gt; La commande suivant la commande nohup ignore le signal 1&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;nslookup&lt;/strong&gt; Affiche des informations sur la r&#233;solution de nom via DNS&lt;/p&gt;
&lt;/a&gt;
&lt;HR&gt;&lt;a name=&#034;o&#034;&gt;
&lt;p&gt;&lt;strong&gt;od&lt;/strong&gt; Affichage d'un fichier en octal&lt;/p&gt;
&lt;/a&gt;
&lt;HR&gt;&lt;a name=&#034;p&#034;&gt;
&lt;p&gt;&lt;strong&gt;passwd&lt;/strong&gt; Change de mot de passe&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;patch&lt;/strong&gt; Modifie le code source par versions&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;perl&lt;/strong&gt; Interpr&#233;teur PERL&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;pnpdump&lt;/strong&gt; Scanne les cartes PnP&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;prof&lt;/strong&gt; Analyseur de performance (profilage)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;ps&lt;/strong&gt; Affiche la liste des processus&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;python&lt;/strong&gt; Interpr&#233;teur Python&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;pwd&lt;/strong&gt; Affiche le chemin courant&lt;/p&gt;
&lt;/a&gt;
&lt;HR&gt;&lt;a name=&#034;q&#034;&gt;
&lt;p&gt;&lt;strong&gt;quotacheck&lt;/strong&gt;	V&#233;rifie les quotas disque&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;quotaon&lt;/strong&gt; Active les quotas disque&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;quotaoff&lt;/strong&gt;	D&#233;sactive les quotas disque&lt;/p&gt;
&lt;/a&gt;
&lt;HR&gt;&lt;a name=&#034;r&#034;&gt;
&lt;p&gt;&lt;strong&gt;rcs&lt;/strong&gt; Entre des descriptions de programme&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;rcdiff&lt;/strong&gt; Affiche les diff&#233;rences entre deux r&#233;visions d'un programme&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;read&lt;/strong&gt; Lit une valeur saisie&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;readonly&lt;/strong&gt; Prot&#232;ge les variables Shell contre l'&#233;crasement&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;reboot&lt;/strong&gt; Red&#233;marrage&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;renice&lt;/strong&gt; Modifie le facteur de priorit&#233; apr&#233;s lancement&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;return&lt;/strong&gt; Fin prematur&#233;e d'un Shell&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;rlog&lt;/strong&gt; Affiche un r&#233;sum&#233; des modifications du fichier&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;rlogin&lt;/strong&gt; Similaire &#224; telnet (connecte sur une machine distante)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;rm&lt;/strong&gt; Efface un fichier&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;rmdir&lt;/strong&gt; Effacer un r&#233;pertoire&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;rmmod&lt;/strong&gt; D&#233;charge un module en m&#233;moire&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;rsh&lt;/strong&gt; Ex&#233;cute une commande sur un serveur distant&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;rpcinfo&lt;/strong&gt; Affiche des informations sur le port mappeur RPC&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;rusers&lt;/strong&gt; Liste les utilisateurs connect&#233;s&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;ruptime&lt;/strong&gt; Affiche le statut des machines locales sur le r&#233;seau&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;rwall&lt;/strong&gt; Ecrit &#224; tous les utilisateurs du r&#233;seau local&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;rwho&lt;/strong&gt; Affiche tous les utilisateurs connect&#233;s&lt;/p&gt;
&lt;/a&gt;
&lt;HR&gt;&lt;a name=&#034;s&#034;&gt;
&lt;p&gt;&lt;strong&gt;scanpci&lt;/strong&gt; Effectue un scan de tous les periph&#233;riques PCI&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;sdb&lt;/strong&gt; Debugueur&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;sed&lt;/strong&gt; Editeur de texte batch&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;select&lt;/strong&gt; S&#233;lection de menu simple dans le shell (????????????????)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;set&lt;/strong&gt; G&#232;re les variables et le comportement du shell&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;setsysfont&lt;/strong&gt; Fixe le fond de la console&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;sg&lt;/strong&gt; Change de groupe&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;shift&lt;/strong&gt; Convertit des param&#232;tres de position (shell)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;shutdown&lt;/strong&gt; Arr&#234;te le syst&#232;me (-h now ou -r 2 )&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;sleep&lt;/strong&gt; Interruption du traitement pendant un certain temps&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;smbd&lt;/strong&gt; Lance le d&#233;mon SMB (netbios-ssm)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;smbclient&lt;/strong&gt; Lance le client SMB pour machines UNIX&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;smbprint&lt;/strong&gt; Lance un script pour imprimer sur un h&#244;te SMB&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;smbstatus&lt;/strong&gt; Liste les connexions SMB pr&#233;sentes&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;smbrun&lt;/strong&gt; Ex&#233;cute un script pour faciliter le lancement d'applications sur des h&#244;tes SMB&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;sort&lt;/strong&gt; Filtre l'entr&#233;e ligne par ligne&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;startx&lt;/strong&gt; D&#233;marre le serveur X&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;strip&lt;/strong&gt; Manipule les infos de debuggage sur un executable&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;stty&lt;/strong&gt; Configue le terminal ou l'interface s&#233;rie&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;su&lt;/strong&gt; Changement d'utilisateur&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;sudo&lt;/strong&gt; Permet d'executer des commandes en tant que super-utilisateur&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;sulogin&lt;/strong&gt; Login root en urgence&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;sum&lt;/strong&gt; Calcule une somme de controle&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;suspend&lt;/strong&gt; Place un shell en arriere plan&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;swapon&lt;/strong&gt; Active une partition de swap&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;swapoff&lt;/strong&gt; D&#233;sactive une partition de swap&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;sync&lt;/strong&gt; Sauvegarde de la m&#233;moire tampon d'entr&#233;e sortie&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;sysctl&lt;/strong&gt; Affiche ou modifie les variables syst&#232;me&lt;/p&gt;
&lt;/a&gt;
&lt;HR&gt;&lt;a name=&#034;t&#034;&gt;
&lt;p&gt;&lt;strong&gt;tac&lt;/strong&gt; Affiche un fichier dans l'ordre inverse&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;tail&lt;/strong&gt; Affichage de la derni&#232;re partie d'un fichier&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;talk&lt;/strong&gt; Envoi de messages inter-utilisateurs&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;tar&lt;/strong&gt; Sauvegarde et archivage de fichiers&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;tcsh&lt;/strong&gt; Appel du Tene C-Shell&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;tclsh&lt;/strong&gt; Interpreteur TCL&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;tee&lt;/strong&gt; Redirection de saisie&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;telint&lt;/strong&gt; Gestion des &#034;niveaux&#034; syst&#232;me&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;test&lt;/strong&gt; Controle de conditions&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;tic&lt;/strong&gt; Compile le source terminfo&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;time&lt;/strong&gt; Permet de mesurer le temps n&#233;cessaire &#224; une commande&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;tin&lt;/strong&gt; Lecteur de news&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;touch&lt;/strong&gt; Permet de cr&#233;er un fichier vide&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;tr&lt;/strong&gt; Conversion de caract&#232;res&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;traceroute&lt;/strong&gt; Reconstitue la route qu'emprunte un paquet |&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;trap&lt;/strong&gt; Gestion des signaux (shell)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;true&lt;/strong&gt; Valeur de retour standard pour un script shell&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;tset&lt;/strong&gt; Initialise le terminal&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;tty&lt;/strong&gt; Affichage des noms des terminaux&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;type&lt;/strong&gt; Affiche le type du fichier&lt;/p&gt;
&lt;/a&gt;
&lt;HR&gt;&lt;a name=&#034;u&#034;&gt;
&lt;p&gt;&lt;strong&gt;ulimit&lt;/strong&gt; Pour d&#233;finir la taille maximum d'un fichier |&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;umask&lt;/strong&gt; D&#233;finit les droits (n&#233;gatifs) de cr&#233;ation d'un fichier&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;umount&lt;/strong&gt; D&#233;montage syst&#232;me de fichiers&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;umssync&lt;/strong&gt; Synchronisation d'un syst&#232;me de fichier UMSDOS&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;unalias&lt;/strong&gt; Suppression d'un nom d'alias&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;uname&lt;/strong&gt; Informations (processeur , version ) syst&#232;me&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;unset&lt;/strong&gt; Supression de d&#233;finitions de variables et de fonctions&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;until&lt;/strong&gt; Structure de controle des boucles&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;update&lt;/strong&gt; Remet a jour les super-blocs du syst&#232;me de fichier&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;updatedb&lt;/strong&gt; Reconstruit la BD des positions de fichiers&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;useradd&lt;/strong&gt; Ajout d'un nouvel utilisateur&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;userdel&lt;/strong&gt; Suppression d'un utilisateur&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;usermod&lt;/strong&gt; Changement des attributs d'un utilisateur&lt;/p&gt;
&lt;/a&gt;
&lt;HR&gt;&lt;a name=&#034;v&#034;&gt;
&lt;p&gt;&lt;strong&gt;vi&lt;/strong&gt; Editeur texte vi&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;vipw&lt;/strong&gt; Editeur pour le fichier password&lt;/p&gt;
&lt;/a&gt;
&lt;HR&gt;&lt;a name=&#034;w&#034;&gt;
&lt;p&gt;&lt;strong&gt;wait&lt;/strong&gt; Attend la fin d'un process en arri&#232;re plan&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;wall&lt;/strong&gt; Envoi d'un message &#224; tous les utilisateurs&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;wc&lt;/strong&gt; comptabilisation des caract&#232;res, des mots et des lignes&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;whatis&lt;/strong&gt; Retourne une breve description de la fonction&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;whereis&lt;/strong&gt; Permet de recherche un executable dans le PATH&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;which&lt;/strong&gt; Indique quel fichier sera appele (dans PATH)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;while&lt;/strong&gt; Structure de contr&#244;le de boucle&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;who&lt;/strong&gt; Affiche les utilisateurs courants&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;write&lt;/strong&gt; Envoi d'un message &#224; d'autres utilisateurs&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;winkey&lt;/strong&gt; [LogDaemon] Generateur de mot de passe&lt;/p&gt;
&lt;/a&gt;
&lt;HR&gt;&lt;a name=&#034;x&#034;&gt;
&lt;p&gt;&lt;strong&gt;xargs&lt;/strong&gt; Combinaison de lignes de commandes et de saisie clavier&lt;/p&gt;
&lt;/a&gt;
&lt;HR&gt;&lt;a name=&#034;y&#034;&gt;
&lt;p&gt;&lt;strong&gt;ypinit&lt;/strong&gt; G&#233;n&#232;re les maps NIS&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;ypmatch&lt;/strong&gt; G&#233;n&#232;re les maps NIS&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;yppasswd&lt;/strong&gt;	Modifie le mot de passe NIS&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;ypwhich&lt;/strong&gt; Permet de savoir le nom du serveur NIS&lt;/p&gt;
&lt;/a&gt;
&lt;HR&gt;
&lt;p&gt;&lt;a href=&#034;#a&#034; class=&#034;spip_ancre&#034;&gt;A&lt;/a&gt;|&lt;a href=&#034;#b&#034; class=&#034;spip_ancre&#034;&gt;B&lt;/a&gt;|&lt;a href=&#034;#b&#034; class=&#034;spip_ancre&#034;&gt;C&lt;/a&gt;|&lt;a href=&#034;#d&#034; class=&#034;spip_ancre&#034;&gt;D&lt;/a&gt;|&lt;a href=&#034;#e&#034; class=&#034;spip_ancre&#034;&gt;E&lt;/a&gt;|&lt;a href=&#034;#f&#034; class=&#034;spip_ancre&#034;&gt;F&lt;/a&gt;|&lt;a href=&#034;#g&#034; class=&#034;spip_ancre&#034;&gt;G&lt;/a&gt;|&lt;a href=&#034;#h&#034; class=&#034;spip_ancre&#034;&gt;H&lt;/a&gt;|&lt;a href=&#034;#i&#034; class=&#034;spip_ancre&#034;&gt;I&lt;/a&gt;|&lt;a href=&#034;#j&#034; class=&#034;spip_ancre&#034;&gt;J&lt;/a&gt;|&lt;a href=&#034;#k&#034; class=&#034;spip_ancre&#034;&gt;K&lt;/a&gt;|&lt;a href=&#034;#l&#034; class=&#034;spip_ancre&#034;&gt;L&lt;/a&gt;|&lt;a href=&#034;#m&#034; class=&#034;spip_ancre&#034;&gt;M&lt;/a&gt;|&lt;a href=&#034;#n&#034; class=&#034;spip_ancre&#034;&gt;N&lt;/a&gt;|&lt;a href=&#034;#o&#034; class=&#034;spip_ancre&#034;&gt;O&lt;/a&gt;|&lt;a href=&#034;#p&#034; class=&#034;spip_ancre&#034;&gt;P&lt;/a&gt;|&lt;a href=&#034;#q&#034; class=&#034;spip_ancre&#034;&gt;Q&lt;/a&gt;|&lt;a href=&#034;#r&#034; class=&#034;spip_ancre&#034;&gt;R&lt;/a&gt;|&lt;a href=&#034;#s&#034; class=&#034;spip_ancre&#034;&gt;S&lt;/a&gt;|&lt;a href=&#034;#t&#034; class=&#034;spip_ancre&#034;&gt;T&lt;/a&gt;|&lt;a href=&#034;#u&#034; class=&#034;spip_ancre&#034;&gt;U&lt;/a&gt;|&lt;a href=&#034;#v&#034; class=&#034;spip_ancre&#034;&gt;V&lt;/a&gt;|&lt;a href=&#034;#w&#034; class=&#034;spip_ancre&#034;&gt;W&lt;/a&gt;|&lt;a href=&#034;#x&#034; class=&#034;spip_ancre&#034;&gt;X&lt;/a&gt;|&lt;a href=&#034;#y&#034; class=&#034;spip_ancre&#034;&gt;Y&lt;/a&gt;|&lt;a href=&#034;#z&#034; class=&#034;spip_ancre&#034;&gt;Z&lt;/a&gt;&lt;/p&gt;
&lt;center&gt;&lt;a href=&#034;http://10function.kicks-ass.org/commande_linux.txt&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Document original&lt;/a&gt;&lt;/CENTER&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
	<item xml:lang="fr">
		<title>Le r&#233;pertoire /etc </title>
		<link>https://clx.asso.fr/spip/?Le-repertoire-etc</link>
		<guid isPermaLink="true">https://clx.asso.fr/spip/?Le-repertoire-etc</guid>
		<dc:date>2002-07-11T10:29:50Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Sebastien Couret</dc:creator>


		<dc:subject>Didacticiel</dc:subject>

		<description>&lt;p&gt;Memento des fichiers et r&#233;pertoires principaux situ&#233;s dans l'arborescence /etc&lt;/p&gt;

-
&lt;a href="https://clx.asso.fr/spip/?-Installation-Administration-de-base-de-Linux-" rel="directory"&gt;Installation / Administration de base de Linux&lt;/a&gt;

/ 
&lt;a href="https://clx.asso.fr/spip/?+-Didacticiel-+" rel="tag"&gt;Didacticiel&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;Le r&#233;pertoire /etc contient la plupart des fichiers de configuration d'un syst&#218;me UNIX en g&#233;n&#233;ral et Linux en particulier. Ce petit memento permettra au d&#233;butant de retrouver les plus importants...&lt;/p&gt;
&lt;p&gt;&#034;Aux armes /etc ra ....&#034; :o)&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;&lt;strong&gt;aliases&lt;/strong&gt; : Les alias de messagerie&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;amd.conf&lt;/strong&gt; : Configuration du d&#233;mon de montage AMD&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;at.deny&lt;/strong&gt; : Liste des utilisateurs non autoris&#233;s &#224; lancer des commandes at&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;dhcp.conf&lt;/strong&gt; : Configuration du serveur DHCP&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;ethers&lt;/strong&gt; : Conversion adresse MAC-&gt;nom d'h&#244;te&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;exports&lt;/strong&gt; : Liste des r&#233;pertoires export&#233;s via NFS&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;fstab&lt;/strong&gt; : Liste des syst&#232;mes de fichiers &#224; monter au d&#233;marrage&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;ftpaccess&lt;/strong&gt; : Configuration du serveur FTP&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;ftpusers&lt;/strong&gt; : Liste des utilisateurs interdits de FTP&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;group&lt;/strong&gt; : Gestion des groupes d'utilisateurs&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;hostname&lt;/strong&gt; : Le nom d'h&#244;te&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;host.conf&lt;/strong&gt; : Configuration resolver&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;hosts&lt;/strong&gt; : Liste des h&#244;tes (machines) connus sur le r&#233;seau (sans faire appel au serveur DNS)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;hosts.allow&lt;/strong&gt; : Liste des h&#244;tes autoris&#233;s par le d&#233;mon tcpd (TCP-WRAPPER)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;hosts.deny&lt;/strong&gt; : Liste des h&#244;tes non autoris&#233;s par le d&#233;mon tcpd (TCP-WRAPPER)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;hosts.equiv&lt;/strong&gt; : Liste des h&#244;tes autoris&#233;s pour les R-commandes (rlogin, rcp, rcmd, rsh)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;hosts.lpd&lt;/strong&gt; : Liste des h&#244;tes autoris&#233;s par le d&#233;mon d'impression&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;inetd.conf&lt;/strong&gt; : Configuration du super d&#233;mon INET (Services r&#233;seaux)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;inittab&lt;/strong&gt; : Initialisation au d&#233;marrage, des terminaux et des lignes s&#233;rie&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;isapnp.conf&lt;/strong&gt; : Configuration pr&#233;c&#233;dente des p&#233;riph&#233;riques plug and play ISA (ISAPNP)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;issue&lt;/strong&gt; : Fichier affich&#233; avant le login&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;ld.so.conf&lt;/strong&gt; : Chemin des librairies dynamiques (cf ldconfig)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;lilo.conf&lt;/strong&gt; : Configuration du LInux LOader (lilo)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;login.defs&lt;/strong&gt; : Configuration du process de login&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;logrotate.conf&lt;/strong&gt; : Configuration du 'rotateur' de journaux (logs)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;mime.type&lt;/strong&gt; : Les diff&#233;rents type mime de fichiers&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;modules.conf&lt;/strong&gt; : Liste et configuration des modules charg&#233;s au d&#233;marrage&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;motd&lt;/strong&gt; : Message affich&#233; apr&#232;s connexion&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;mtab&lt;/strong&gt; : Liste des syst&#232;mes de fichiers mont&#233;s&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;mtools.conf&lt;/strong&gt; : Configuration des mtools&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;named.boot&lt;/strong&gt; : Fichier de configuration du serveur DNS (devient obsol&#232;te - bind 4)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;named.conf&lt;/strong&gt; : Fichier de configuration du serveur DNS&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;networks&lt;/strong&gt; : Nom et masque des r&#233;seaux IP&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;nsswitch.conf&lt;/strong&gt; : Configuration des principales bases de donn&#233;es syst&#232;me&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;ntp.conf&lt;/strong&gt; : Fichier de configuration du serveur de temps NTP&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;pam.conf&lt;/strong&gt; : Configuration de PAM (Plugable Authentication Module)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;passwd&lt;/strong&gt; : Liste des utilisateurs ainsi que de leur r&#233;pertoire, groupe, etc.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;printcap&lt;/strong&gt; : Configuration de l'imprimante&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;profile&lt;/strong&gt; : Liste des varaible d'environnement ou des programmes lanc&#233; au moment du login&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;protocols&lt;/strong&gt; : Liste des protocoles r&#233;seau&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;pwdb.conf&lt;/strong&gt; : Mode de stockage des mots de passe (shadow,nis,unix)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;resolf.conf&lt;/strong&gt; : Configuration de la r&#233;solution DNS (liste des DNS, etc.)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;rpc&lt;/strong&gt; : Mappage des num&#233;ros de programmes RPC&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;securetty&lt;/strong&gt; : Liste des terminaux depuis lesquels le root peut se connecter&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;sendmail.cf&lt;/strong&gt; : Fichier de configuration de sendmail&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;services&lt;/strong&gt; : Mappage Port/nom pour services tcp/udp&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;shadow&lt;/strong&gt; : Fichiers mot de passe cach&#233;s&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;shells&lt;/strong&gt; : Shells autoris&#233;s&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;smb.conf&lt;/strong&gt; : Configuration de samba&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;syslog.conf&lt;/strong&gt; : Configuration du d&#233;mon syslog&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;timezone&lt;/strong&gt; : D&#233;finit la zone horaire&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;yp.conf&lt;/strong&gt; : Configuration du client NIS&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;ypserv.conf&lt;/strong&gt; : Configuration du serveur NIS&lt;/p&gt;
&lt;HR&gt;
&lt;p&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; R&#233;pertoires&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;apt/&lt;/strong&gt; : Mise &#224; jour des packages Debian&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;init.d/&lt;/strong&gt; : Les scripts de d&#233;marrage&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;mysql/&lt;/strong&gt; : Fichiers de configuration de mysql&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;network/&lt;/strong&gt; : Configuration des couches r&#233;seau&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;pam.d/&lt;/strong&gt; : Configuration du Plugable Authentification Module (PAM)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;ppp/&lt;/strong&gt; : Configuration de ppp (modems...)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;rc.boot/&lt;/strong&gt; : Scripts de d&#233;marrage System V&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;rc&lt;I&gt;x&lt;/I&gt;.d/&lt;/strong&gt; : Scripts de d&#233;marrage correspondant au niveau x&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;rc.d/&lt;/strong&gt; : Scripts de d&#233;marrage System V&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;skel/&lt;/strong&gt; : Squelette pour adduser&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;ssh/&lt;/strong&gt; : Fichiers de confiration pour SSH&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;snmp/&lt;/strong&gt; : Fichiers de configuration du d&#233;mon SNMP&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;terminfo/&lt;/strong&gt; : Base de donn&#233;es sur les terminaux&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
	<item xml:lang="fr">
		<title>Mettre sa linuxette &#224; jour</title>
		<link>https://clx.asso.fr/spip/?Mettre-sa-linuxette-a-jour</link>
		<guid isPermaLink="true">https://clx.asso.fr/spip/?Mettre-sa-linuxette-a-jour</guid>
		<dc:date>2002-06-01T15:07:35Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Ga&#233;tan RYCKEBOER</dc:creator>


		<dc:subject>Debian</dc:subject>
		<dc:subject>Fran&#231;ais</dc:subject>
		<dc:subject>Formation</dc:subject>

		<description>&lt;p&gt;Rapide tour d'horizon des utilitaires (sous Debian) pour mettre sa distribution &#224; jour.&lt;/p&gt;

-
&lt;a href="https://clx.asso.fr/spip/?-Installation-Administration-de-base-de-Linux-" rel="directory"&gt;Installation / Administration de base de Linux&lt;/a&gt;

/ 
&lt;a href="https://clx.asso.fr/spip/?+-Debian-+" rel="tag"&gt;Debian&lt;/a&gt;, 
&lt;a href="https://clx.asso.fr/spip/?+-Francais-+" rel="tag"&gt;Fran&#231;ais&lt;/a&gt;, 
&lt;a href="https://clx.asso.fr/spip/?+-Formation-+" rel="tag"&gt;Formation&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;La distribution Debian est r&#233;put&#233;e pour sa stabilit&#233;, d'une part, et le rythme infernal avec lequel les nouvelles versions sortent (hum).&lt;br class='autobr' /&gt;
Autrement dit, si vous n'avez pas un serveur, et que vous fonctionnez sous Debian... Attendre les versions stables n'est pas forc&#233;ment la meilleure solution.&lt;/p&gt;
&lt;p&gt;Voici comment &#231;a marche.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;Debian, distribution &#034;d&#233;mocratique&#034; et non commerciale, ce n'est pas toujours simple... Un peu comme IBM, qui invente des outils g&#233;niaux - dans leur fonctionnement - mais... aust&#232;res dans leur interface, et anti-ergonomiques.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Structuration&lt;/h2&gt;
&lt;p&gt;Tout d'abord, la distribution Debian est divis&#233;e en plusieurs branches, dans un &#233;tat nomm&#233; :
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; &lt;i&gt;unstable&lt;/i&gt;, en d&#233;veloppement perp&#233;tuel ;
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; &lt;i&gt;testing&lt;/i&gt;, en phase de tests de stabilit&#233; ;
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; &lt;i&gt;frozen&lt;/i&gt;, pas encore stable mais &#231;a ne bouge plus beaucoup ;
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; &lt;i&gt;stable&lt;/i&gt;, la fameuse distribution stable, id&#233;ale pour les serveurs &#224; haute disponibilit&#233;, et n&#233;c&#233;ssitant des besoins cons&#233;quents en s&#233;curisation.&lt;/p&gt;
&lt;p&gt;Les branches &#224; proprement parler sont les versions de Debian, d&#233;sign&#233;es par un nom de code :
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; 2.1 &lt;i&gt;slink&lt;/i&gt; qui n'est plus &#034;support&#233;e&#034; ;
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; 2.2 &lt;i&gt;potato&lt;/i&gt;, actuellement &lt;i&gt;stable&lt;/i&gt; ;
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; 3.0 &lt;i&gt;woody&lt;/i&gt;, actuellement &lt;i&gt;testing&lt;/i&gt; ;
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; 3.1 &lt;i&gt;sid&lt;/i&gt;, actuellement &lt;i&gt;unstable&lt;/i&gt;.&lt;/p&gt;
&lt;p&gt;Pour chaque &#233;tat Debian, qui actuellement correspondent aux 3 branches pr&#233;c&#233;dentes&lt;span class=&#034;spip_note_ref&#034;&gt; [&lt;a href=&#034;#nb5-1&#034; class=&#034;spip_note&#034; rel=&#034;appendix&#034; title=&#034;il n'y a pas en ce moment de frozen, la woody est toujours en testing&#034; id=&#034;nh5-1&#034;&gt;1&lt;/a&gt;]&lt;/span&gt;, et des mises &#224; jour continuent &#224; &#234;tre faites en permanence dessus ; que ce soit des ajouts (sur les paquetages en testing et unstable), ou des mises &#224; jour de s&#233;curit&#233; (sur les paquetages en frozen et stable).&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Comment &#231;a marche ?&lt;/h2&gt;
&lt;p&gt;Un des aspect int&#233;ressant de la distribution Debian est le syst&#232;me qu'ils ont adopt&#233; pour mettre les &lt;i&gt;packages&lt;/i&gt;&lt;span class=&#034;spip_note_ref&#034;&gt; [&lt;a href=&#034;#nb5-2&#034; class=&#034;spip_note&#034; rel=&#034;appendix&#034; title=&#034;un package ou paquetage, c'est un fichier qui contient tout ce qu'il faut (&#8230;)&#034; id=&#034;nh5-2&#034;&gt;2&lt;/a&gt;]&lt;/span&gt; &#224; la disposition du plus grand nombre. Comme Debian n'est pas une soci&#233;t&#233; commerciale, mais plut&#244;t une association de &lt;strike&gt;dangereux malfaiteurs&lt;/strike&gt; contributeurs b&#233;n&#233;voles sur Internet, les packages sont accessibles tr&#232;s facilement via des sites FT ou des sites Web, et tr&#232;s facilement installables sur votre machine.&lt;/p&gt;
&lt;p&gt;De plus, une gestion tr&#232;s &#233;volu&#233;e et efficace des d&#233;pendances entre les packages&lt;span class=&#034;spip_note_ref&#034;&gt; [&lt;a href=&#034;#nb5-3&#034; class=&#034;spip_note&#034; rel=&#034;appendix&#034; title=&#034;ie. quelque chose comme &#034;galeon utilise mozilla, qui utilise mozilla-common, (&#8230;)&#034; id=&#034;nh5-3&#034;&gt;3&lt;/a&gt;]&lt;/span&gt; qui permet d'installer un logiciel par le biais d'une seule commande.&lt;/p&gt;
&lt;p&gt;Enfin, les d&#233;veloppeurs Debian ont pens&#233; aux personnes n'ayant pas acc&#232;s &#224; Internet de mani&#232;re permanente et/ou gratuite. Ils ont &#233;crit un certain nombre d'outils pour r&#233;cup&#233;rer, construire, utiliser, upgrader des images sur CD, afin de mettre &#224; jour sa machine de chez soi, &#034;comme si&#034; on &#233;tait sur Internet.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Les utilitaires&lt;/h2&gt;
&lt;p&gt;Le premier utilitaire, celui qu'il faut oublier rapidement, est &lt;strong&gt;dpkg&lt;/strong&gt;. Il sert &#224; installer un paquet (comme rpm pour les RedHat/Mandrake).&lt;/p&gt;
&lt;p&gt;Un niveau au dessus, se trouve &lt;strong&gt;dselect&lt;/strong&gt;. Lui aussi, il vaut mieux l'oublier.&lt;/p&gt;
&lt;p&gt;Un niveau au dessus, se trouve &lt;strong&gt;apt-get&lt;/strong&gt;. Lui, il ne faut pas l'oublier... C'est le plus utile.&lt;br&gt;
La fonction de apt-get consiste &#224; chercher un emplacement o&#249; r&#233;cup&#233;rer un paquetage donn&#233;, de r&#233;cup&#233;rer tous les paquetages dont il d&#233;pend, et de g&#233;rer les conflits entre paquetages&lt;span class=&#034;spip_note_ref&#034;&gt; [&lt;a href=&#034;#nb5-4&#034; class=&#034;spip_note&#034; rel=&#034;appendix&#034; title=&#034;Les fichiers identiques, les paquetages &#224; mettre &#224; jour, les packages &#224; (&#8230;)&#034; id=&#034;nh5-4&#034;&gt;4&lt;/a&gt;]&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;Encore au dessus, se trouvent tout un panel de petits utilitaires bien pratiques, pour recr&#233;er une &#034;source&#034; pour apt-get ; on trouve ainsi &lt;strong&gt;apt-move&lt;/strong&gt;, &lt;strong&gt;apt-proxy&lt;/strong&gt;, &lt;strong&gt;apt-zip&lt;/strong&gt;, et bien d'autres.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;apt-get : mise &#224; jour d'une machine&lt;/h2&gt;
&lt;p&gt;Le fonctionnement d'apt-get est relativement simple. Il poss&#232;de une liste de sources (un CD, un serveur internet, un r&#233;pertoire local...), r&#233;cup&#232;re la liste des paquets disponibles sur ces diff&#233;rentes sources et, &#224; la demande de l'administrateur, installe un/des paquetage(s) ainsi que tous les packages dont il(s) d&#233;pend(ent).&lt;br&gt;
La syntaxe d'apt-get est la suivante :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;apt-get &lt;commande&gt; paquet(s)&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;La liste des commandes disponibles est :
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; install : pour installer un paquetage ;
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; remove : pour enlever un paquetage ;
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; update : pour r&#233;cup&#233;rer la liste des paquetages disponibles sur les diff&#233;rentes sources ;
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; upgrade : pour mettre tous les paquetages &#224; jour avec les versions les plus r&#233;centes trouv&#233;es.&lt;br&gt;
Ainsi, &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;apt-get install galeon&lt;/code&gt; donnera la liste des packages &#224; installer pour faire tourner galeon, la taille des fichiers &#224; r&#233;cup&#233;rer, la taille de tout cela une fois d&#233;compact&#233;, et installera l'ensemble. Pour le cas pr&#233;sent, il faut r&#233;cup&#233;rer mozilla, donc... environ 15Mo ;-)&lt;/p&gt;
&lt;p&gt;Simple, non ?&lt;/p&gt;
&lt;p&gt;Plus difficile : le fichier &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/etc/apt/sources.list&lt;/code&gt;&lt;br&gt;
C'est dans ce fichier que l'on place la liste des sources disponibles. La syntaxe est un peu bizarre, et je joins un fichier sources.list comme exemple.&lt;/p&gt;
&lt;div class='spip_document_49 spip_document spip_documents spip_document_file spip_documents_center spip_document_center spip_document_avec_legende' data-legende-len=&#034;57&#034; data-legende-lenx=&#034;x&#034;
&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt;
&lt;a href='https://clx.asso.fr/spip/IMG/txt/doc-49.txt' class=&#034; spip_doc_lien&#034; title='Texte - 1.5 kio' type=&#034;text/plain&#034;&gt;&lt;img src='https://clx.asso.fr/spip/local/cache-vignettes/L64xH64/txt-55e11.svg?1773236506' width='64' height='64' alt='' /&gt;&lt;/a&gt;
&lt;figcaption class='spip_doc_legende'&gt; &lt;div class='spip_doc_titre '&gt;&lt;strong&gt;sources.list
&lt;/strong&gt;&lt;/div&gt; &lt;div class='spip_doc_descriptif '&gt;Un fichier /etc/apt/sources.list d'exemple
&lt;/div&gt; &lt;/figcaption&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;L'id&#233;e &#233;tant de recenser un certain nombre de sources, sur Internet ou non, avec le type de paquetages que l'on peut y trouver, et la distribution pour laquelle on peut trouver tout cela. Le mieux &#233;tant de lire le fichier d'exemple, et d'y faire le minimum de modifs ;-)&lt;br class='autobr' /&gt;
Sinon, l'utilitaire apt-setup permet de configurer relativement simplement ce fichier de sources.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;apt-cdrom : ajout d'un CD-ROM aux sources pour apt&lt;/h2&gt;
&lt;p&gt;Un CD-Rom &#233;tant une source comme une autre, il peut servir &#224; installer des paquets. Et heureusement. Seulement... Le format de l'entr&#233;e dans le fichier de liste est un peu... Bizarre.&lt;br class='autobr' /&gt;
Si vous r&#233;cup&#233;rez et gravez une image ISO d'une nouvelle version de Debian, et/ou r&#233;cup&#233;rez le CD complet (par Linux Mag France, un pote ou autre), l'utilitaire apt-cdrom permettra de le lire, de voir comment il fonctionne, et de l'ajouter &#224; la liste des sources. C'est plus pratique.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;apt-move&lt;/h2&gt;
&lt;p&gt;&#199;a, c'est carr&#233;ment g&#233;nial.&lt;br&gt;
Le principe, c'est de mettre &#224; profit les paquetages d&#233;j&#224; t&#233;l&#233;charg&#233;s&lt;span class=&#034;spip_note_ref&#034;&gt; [&lt;a href=&#034;#nb5-5&#034; class=&#034;spip_note&#034; rel=&#034;appendix&#034; title=&#034;download&#233;s, &#034;descendus&#034;, r&#233;cup&#233;r&#233;s...&#034; id=&#034;nh5-5&#034;&gt;5&lt;/a&gt;]&lt;/span&gt; et copi&#233;s dans un r&#233;pertoire de &#034;cache&#034; sur votre disque dur&lt;span class=&#034;spip_note_ref&#034;&gt; [&lt;a href=&#034;#nb5-6&#034; class=&#034;spip_note&#034; rel=&#034;appendix&#034; title=&#034;si vous n'avez pas d&#233;sactiv&#233; la conservation des packages apr&#232;s installation.&#034; id=&#034;nh5-6&#034;&gt;6&lt;/a&gt;]&lt;/span&gt;, et de les transformer en une belle arborescence toute propre et bien fignol&#233;e, pour servir de source, &#224; une autre machine par exemple.&lt;/p&gt;
&lt;p&gt;En effet, les paquets t&#233;l&#233;charg&#233;s se trouvent dans &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/var/cache/apt/archives/&lt;/code&gt;, et ne sont utilisables que par dpkg. Le probl&#232;me, c'est que dpkg ne g&#232;re absolument pas les d&#233;pendances, et agit de la m&#234;me fa&#231;on que rpm sur mandrake&lt;span class=&#034;spip_note_ref&#034;&gt; [&lt;a href=&#034;#nb5-7&#034; class=&#034;spip_note&#034; rel=&#034;appendix&#034; title=&#034;SuSE, RedHat, Mandrake...&#034; id=&#034;nh5-7&#034;&gt;7&lt;/a&gt;]&lt;/span&gt;, et rend vite l'admin fou par des messages du type &#034;&lt;i&gt;impossible d'installer, il manque le paquetage xyz&lt;/i&gt;&#034;.&lt;br class='autobr' /&gt;
L'id&#233;e est donc de lire ce que contiennent les paquetages, de cr&#233;er une arborescence pour une branche donn&#233;e, de cr&#233;er la liste des paquetages et de rechercher les d&#233;pendances et enfin de copier les fichier dans la nouvelle arborescence toute propre. Ensuite, une ligne dans le &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;sources.list&lt;/code&gt;, et le tour est jou&#233;.&lt;/p&gt;
&lt;p&gt;Attention, apt-move ne fonctionne pas tout seul, il faut d'abord &#233;diter le fichier de configuration de la b&#234;te...&lt;/p&gt;
&lt;p&gt;Voici quelques variables tir&#233;es du fichier /etc/apt-move.conf&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;# Les sites dans ``/etc/apt/sources.list'' que vous voulez &#034;miroiter&#034; APTSITES=&#034;ftp.minet.net/pub/distrib/debian/ non-us.debian.org/debian-non-US www.opera.com/debian&#034; # Les architectures pour lesquelles vous voulez g&#233;n&#233;rer la source ARCHS=&#034;i386&#034; # Le chemin o&#249; cr&#233;er la source LOCALDIR=/mnt/archives/apt-mirror # La distribution pour laquelle vous souhaitez cr&#233;er la source DIST=testing&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Pour cr&#233;er une source &#224; partir du cache apt, commencez par modifier le fichier apt-move.conf, puis tapez les commandes suivantes :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;# apt-move get # apt-move packages # apt-move move&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Et voil&#224; !&lt;/p&gt;
&lt;p&gt;Il ne vous reste plus qu'&#224; ajouter votre source locale &#224; /etc/apt/sources.list.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;apt-proxy : un cache pour plusieurs machines&lt;/h2&gt;
&lt;p&gt;Une autre m&#233;thode de partage de connexion Internet entre plusieurs machines Debian, c'est apt-proxy. Comme son nom l'indique, il sert de cache interm&#233;diaire entre les sources sur Internet, et votre apt-get local. Quel int&#233;r&#234;t, puisqu'on l'a vu, il y a d&#233;j&#224; un cache ?&lt;br class='autobr' /&gt;
Il y en a plusieurs.&lt;br class='autobr' /&gt;
Premi&#232;rement, apt-proxy utilise rsync. Il va donc r&#233;cup&#233;rer de mani&#232;re plus efficace les paquetages depuis les sources sur Internet. Et tout particuli&#232;rement si on demande &#224; rsync d'activer le compression&lt;span class=&#034;spip_note_ref&#034;&gt; [&lt;a href=&#034;#nb5-8&#034; class=&#034;spip_note&#034; rel=&#034;appendix&#034; title=&#034;la ligne dans le /etc/apt-proxy/apt-proxy.conf fera l'affaire&#034; id=&#034;nh5-8&#034;&gt;8&lt;/a&gt;]&lt;/span&gt;.&lt;br class='autobr' /&gt;
Deuxi&#232;mement, apt-proxy peux d&#233;livrer des paquetages &#224; plusieurs machines sur le r&#233;seau local, que ce soient des sources sur Internet, comme pour votre machine locale, ou des sources locales g&#233;n&#233;r&#233;es par apt-move.&lt;br class='autobr' /&gt;
Enfin, apt-proxy ne r&#233;cup&#232;re que les diff&#233;rences entre les fichiers de description des paquets (fichiers pouvant atteindre plusieurs m&#233;gas), permettant de se tenir &#224; jour de mani&#232;re plus rapide.&lt;/p&gt;
&lt;p&gt;De cette fa&#231;on, si on a un LAN avec plusieurs machines Debian, on ne t&#233;l&#233;chargera les packages qu'une seule fois (la premi&#232;re machine qui le demande), ou on fournira sa propre source cr&#233;&#233;e avec apt-move.&lt;/p&gt;
&lt;p&gt;En revanche, dans la mesure o&#249; ce n'est plus apt-get mais apt-proxy qui r&#233;cup&#232;re le package depuis la source Internet, les &#034;statistiques&#034; de temps &#233;coul&#233;, de vitesse de transfert et de dur&#233;e de t&#233;l&#233;chargement estim&#233;e ne seront plus valides... puisque apt-proxy attend d'avoir t&#233;l&#233;charg&#233; compl&#232;tement un paquetage avant de le transmettre &#224; la machine qui le demande.&lt;/p&gt;
&lt;p&gt;Pour utiliser apt-proxy, il va falloir mettre les sources de votre apt vers le fichier de apt-proxy, et changer indiquer &#224; apt-get de ne plus utiliser que apt-proxy pour r&#233;cup&#233;rer les paquetages.&lt;/p&gt;
&lt;p&gt;Voici pour exemple mon fichier apt-proxy.conf, &#224; partir des sources de mon /etc/apt/sources.list.&lt;/p&gt;
&lt;div class='spip_document_56 spip_document spip_documents spip_document_file spip_documents_center spip_document_center spip_document_avec_legende' data-legende-len=&#034;58&#034; data-legende-lenx=&#034;x&#034;
&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt;
&lt;a href='https://clx.asso.fr/spip/IMG/txt/doc-56.txt' class=&#034; spip_doc_lien&#034; title='Texte - 3.8 kio' type=&#034;text/plain&#034;&gt;&lt;img src='https://clx.asso.fr/spip/local/cache-vignettes/L64xH64/txt-55e11.svg?1773236506' width='64' height='64' alt='' /&gt;&lt;/a&gt;
&lt;figcaption class='spip_doc_legende'&gt; &lt;div class='spip_doc_titre '&gt;&lt;strong&gt;apt-proxy.conf
&lt;/strong&gt;&lt;/div&gt; &lt;div class='spip_doc_descriptif '&gt;Le fichier de configurationpour apt-proxy
&lt;/div&gt; &lt;/figcaption&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;Le /etc/apt/sources.list ne contiendra plus que &#034;localhost:9999&#034; &#224; la place du nom du serveur proposant les sources sur le net.&lt;br class='autobr' /&gt;
Ainsi, la ligne&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;deb ftp://non-us.debian.org/debian-non-US stable/non-US main contrib non-free&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt; &lt;p&gt;sera transform&#233;e en&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;deb http://localhost:9999 stable/non-US main contrib non-free&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Attention&lt;/strong&gt; la configuration de apt-proxy n'est pas forc&#233;ment tr&#232;s simple. Une bonne lecture de la page de MAN et du fichier de configuration risque de s'av&#233;rer indispensable.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Debian, j'en veux&lt;/h2&gt;
&lt;p&gt;Voil&#224;... J'esp&#232;re que ce petit tour d'horizon vous aura permis d'y voir plus clair.&lt;/p&gt;
&lt;p&gt;Comme d'habitude, n'h&#233;sitez pas &#224; faire des commentaires sur le forum, des r&#233;clamations, des demandes d'am&#233;liorations ;-)&lt;br class='autobr' /&gt;
En attendant, voici de quoi r&#233;cup&#233;rer les &lt;a href=&#034;http://www.fr.debian.org/CD/http-ftp/#testing&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;8 images CD de la &lt;i&gt;woody&lt;/i&gt; (actuellement en &lt;i&gt;testing&lt;/i&gt;&lt;/a&gt;) pour vous installer une nouvelle distrib, ou mettre &#224; jour une debian existante...&lt;/p&gt;&lt;/div&gt;
		&lt;hr /&gt;
		&lt;div class='rss_notes'&gt;&lt;div id=&#034;nb5-1&#034;&gt;
&lt;p&gt;&lt;span class=&#034;spip_note_ref&#034;&gt;[&lt;a href=&#034;#nh5-1&#034; class=&#034;spip_note&#034; title=&#034;Notes 5-1&#034; rev=&#034;appendix&#034;&gt;1&lt;/a&gt;] &lt;/span&gt;il n'y a pas en ce moment de frozen, la woody est toujours en &lt;i&gt;testing&lt;/i&gt;&lt;/p&gt;
&lt;/div&gt;&lt;div id=&#034;nb5-2&#034;&gt;
&lt;p&gt;&lt;span class=&#034;spip_note_ref&#034;&gt;[&lt;a href=&#034;#nh5-2&#034; class=&#034;spip_note&#034; title=&#034;Notes 5-2&#034; rev=&#034;appendix&#034;&gt;2&lt;/a&gt;] &lt;/span&gt;un package ou paquetage, c'est un fichier qui contient tout ce qu'il faut pour installer un logiciel&lt;/p&gt;
&lt;/div&gt;&lt;div id=&#034;nb5-3&#034;&gt;
&lt;p&gt;&lt;span class=&#034;spip_note_ref&#034;&gt;[&lt;a href=&#034;#nh5-3&#034; class=&#034;spip_note&#034; title=&#034;Notes 5-3&#034; rev=&#034;appendix&#034;&gt;3&lt;/a&gt;] &lt;/span&gt;&lt;i&gt;ie.&lt;/i&gt; quelque chose comme &#034;galeon utilise mozilla, qui utilise mozilla-common, qui utilise java, etc.&#034;&lt;/p&gt;
&lt;/div&gt;&lt;div id=&#034;nb5-4&#034;&gt;
&lt;p&gt;&lt;span class=&#034;spip_note_ref&#034;&gt;[&lt;a href=&#034;#nh5-4&#034; class=&#034;spip_note&#034; title=&#034;Notes 5-4&#034; rev=&#034;appendix&#034;&gt;4&lt;/a&gt;] &lt;/span&gt;Les fichiers identiques, les paquetages &#224; mettre &#224; jour, les packages &#224; supprimer...&lt;/p&gt;
&lt;/div&gt;&lt;div id=&#034;nb5-5&#034;&gt;
&lt;p&gt;&lt;span class=&#034;spip_note_ref&#034;&gt;[&lt;a href=&#034;#nh5-5&#034; class=&#034;spip_note&#034; title=&#034;Notes 5-5&#034; rev=&#034;appendix&#034;&gt;5&lt;/a&gt;] &lt;/span&gt;download&#233;s, &#034;descendus&#034;, r&#233;cup&#233;r&#233;s...&lt;/p&gt;
&lt;/div&gt;&lt;div id=&#034;nb5-6&#034;&gt;
&lt;p&gt;&lt;span class=&#034;spip_note_ref&#034;&gt;[&lt;a href=&#034;#nh5-6&#034; class=&#034;spip_note&#034; title=&#034;Notes 5-6&#034; rev=&#034;appendix&#034;&gt;6&lt;/a&gt;] &lt;/span&gt;si vous n'avez pas d&#233;sactiv&#233; la conservation des packages apr&#232;s installation.&lt;/p&gt;
&lt;/div&gt;&lt;div id=&#034;nb5-7&#034;&gt;
&lt;p&gt;&lt;span class=&#034;spip_note_ref&#034;&gt;[&lt;a href=&#034;#nh5-7&#034; class=&#034;spip_note&#034; title=&#034;Notes 5-7&#034; rev=&#034;appendix&#034;&gt;7&lt;/a&gt;] &lt;/span&gt;SuSE, RedHat, Mandrake...&lt;/p&gt;
&lt;/div&gt;&lt;div id=&#034;nb5-8&#034;&gt;
&lt;p&gt;&lt;span class=&#034;spip_note_ref&#034;&gt;[&lt;a href=&#034;#nh5-8&#034; class=&#034;spip_note&#034; title=&#034;Notes 5-8&#034; rev=&#034;appendix&#034;&gt;8&lt;/a&gt;] &lt;/span&gt;la ligne &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;RSYNC=rsync -zu --partial&lt;/code&gt; dans le /etc/apt-proxy/apt-proxy.conf fera l'affaire&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
	<item xml:lang="fr">
		<title>Sendmail : pour ou contre ?</title>
		<link>https://clx.asso.fr/spip/?Sendmail-pour-ou-contre</link>
		<guid isPermaLink="true">https://clx.asso.fr/spip/?Sendmail-pour-ou-contre</guid>
		<dc:date>2002-05-04T18:21:59Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Ga&#233;tan RYCKEBOER</dc:creator>


		<dc:subject>Sendmail</dc:subject>

		<description>&lt;p&gt;&lt;i&gt;Sendmail ? Encore ? Mais pourquoi faire ? Postfix, Exim ou Qmail sont nettement mieux, non ?&lt;/i&gt; Mieux, non. Plus faciles &#224; installer, oh oui. Mais beaucoup moins complets... Le point sur les bons usages de Sendmail, points forts, points faibles.&lt;/p&gt;

-
&lt;a href="https://clx.asso.fr/spip/?-Installation-Administration-de-base-de-Linux-" rel="directory"&gt;Installation / Administration de base de Linux&lt;/a&gt;

/ 
&lt;a href="https://clx.asso.fr/spip/?+-Sendmail-+" rel="tag"&gt;Sendmail&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;&lt;i&gt;Sendmail ? Encore ? Mais pourquoi faire ? Postfix, Exim ou Qmail sont nettement mieux, non ?&lt;/i&gt; Mieux, non. Plus faciles &#224; installer, oh oui. Mais beaucoup moins complets... Le point sur les bons usages de Sendmail, points forts, points faibles.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;h2 class=&#034;spip&#034;&gt;Avantages&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Configuration&lt;/strong&gt;&lt;br class='autobr' /&gt;
La configration de la messagerie Sendmail, si elle est loin d'&#234;tre simple, permet en revanche une souplesse d'utilisation sans &#233;gal. Le gros reproche que l'on fait souvent &#224; Sendmail est le manque de clart&#233; du fichier de configuration, le fameux &lt;i&gt;sendmail.cf&lt;/i&gt;. En fait, le &lt;i&gt;sendmail.cf&lt;/i&gt; est tr&#232;s tr&#232;s pratique &#224; utiliser, une fois que l'on a compris comment il est construit.&lt;br class='autobr' /&gt;
Voir : &lt;a href='https://clx.asso.fr/spip/?Le-sendmail-cf' class=&#034;spip_in&#034;&gt;Configuration avanc&#233;e de Sendmail&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Sinon, sans passer par le redout&#233; sendmail.cf, une bonne configuration des fichiers m4, livr&#233;s avec toute bonne distribution de Sendmail, permet un assez haut niveau de configuration, et le r&#233;sultat reste relativement compr&#233;hensible.&lt;br class='autobr' /&gt;
E.JACOBONI a fait une &lt;a href=&#034;http://www.linux-france.org/article/mail/sendmail/sendmail.html&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;excellente documentation&lt;/a&gt; sur l'installation de Sendmail pour une petite configuration de type station + modem, avec les options courantes de Sendmail. Sinon, la liste du CLX donne r&#233;guli&#232;rement un coup de main aux personnes qui ne comprennent pas grand chose &#224; Sendmail... et tentent de le configurer sur leur machine.&lt;/p&gt;
&lt;p&gt;Je joins tout de m&#234;me un fichier de configuration m4 classique (document&#233;), pour que vous puissiez avoir une bonne base, si le serveur Sendmail install&#233; avec votre distribution linux ne fonctionne pas par d&#233;faut... Avec une distribution &lt;a href=&#034;http://www.debian.org&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;debian&lt;/a&gt;, le script de configuration pose les bonnes questions, et suffit &#224; lui tout seul &#224; l'installation d'une messagerie Sendmail sur un petit serveur type &#034;bo&#238;te noire&#034; d'une PME/PMI.&lt;/p&gt;
&lt;div class='spip_document_28 spip_document spip_documents spip_document_file spip_documents_center spip_document_center spip_document_avec_legende' data-legende-len=&#034;93&#034; data-legende-lenx=&#034;xx&#034;
&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt;
&lt;a href='https://clx.asso.fr/spip/IMG/txt/doc-28.txt' class=&#034; spip_doc_lien&#034; title='Texte - 3.1 kio' type=&#034;text/plain&#034;&gt;&lt;img src='https://clx.asso.fr/spip/local/cache-vignettes/L64xH64/txt-55e11.svg?1773236506' width='64' height='64' alt='' /&gt;&lt;/a&gt;
&lt;figcaption class='spip_doc_legende'&gt; &lt;div class='spip_doc_titre '&gt;&lt;strong&gt;sendmail.m4
&lt;/strong&gt;&lt;/div&gt; &lt;div class='spip_doc_descriptif '&gt;Le fichier de configuration de Sendmail pour m4.&lt;br&gt;
Sur Debian, c'est sendmail.mc
&lt;/div&gt; &lt;/figcaption&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;Voir aussi : &lt;a href=&#034;http://www.sendmail.org/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Sendmail.org&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Plugins&lt;/strong&gt;&lt;br&gt;
En plus des options de configuration de base, de nombreux plugins ont &#233;t&#233; d&#233;velopp&#233;s pour Sendmail, notamment :
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; Le support du &lt;a href=&#034;http://www.stanford.edu/~bbense/Inst.html&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;LDAP&lt;/a&gt; : pour g&#233;rer vos bases d'utilisateur via un annuaire LDAP ;
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; Des dispositifs anti-spam perfectionn&#233;s, comme &lt;a href=&#034;http://spamassassin.taint.org/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;SPAM Assasin&lt;/a&gt;, ou &lt;a href=&#034;http://razor.sourceforge.net/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Vipul's Razor&lt;/a&gt; par exemple. Par contre, cela fait appel &#224; la &lt;a href=&#034;http://www.milter.org/article.pl?sid=02/01/26/1325208&amp;mode=thread&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;libMILTER&lt;/a&gt;.&lt;br class='autobr' /&gt;
A ce propos, &lt;a href=&#034;http://www.perl.com/pub/a/2002/03/06/spam.html&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;un article&lt;/a&gt; sur Perl.com explique (en anglais) pourquoi et comment filtrer le SPAM.
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; Le cryptage GPG &lt;a href=&#034;http://www.atnf.csiro.au/people/rgooch/PGPsendmail.html&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;&#224; la &lt;br class='autobr' /&gt;
vol&#233;e&lt;/a&gt;, et le d&#233;cryptage de la m&#234;me mani&#232;re. Cela permet de crypter les mails sortants lorsque le destinataire dispose d'une cl&#233; publique sur un serveur de cl&#233; (voir &lt;a href='https://clx.asso.fr/spip/?-GPG-et-chiffrement-' class=&#034;spip_in&#034;&gt;la configuration de GPG&lt;/a&gt;).&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Trous de s&#233;curit&#233;&lt;/h2&gt;
&lt;p&gt;Un autre repproche que l'on fait r&#233;guli&#232;rement &#224; Sendmail est sa facheuse tendance &#224; multiplier les trous de s&#233;curit&#233;. En fait, apr&#232;s recherche sur le net, notamment via &lt;a href=&#034;https://www.securityfocus.com&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Security Focus&lt;/a&gt;, il n'y a plus grand chose depuis un moment... Mais &#233;tant un logiciel libre, donc &#224; sources ouvertes, au d&#233;but de la vie de Sendmail, il &#233;tait relativement facile de voir les trous, et de les signaler.&lt;br class='autobr' /&gt;
Aujourd'hui, Sendmail n'est plus le seul sur le &#034;march&#233;&#034;, des trous sont &#233;galement d&#233;couverts dans Postfix, Qmail et Exim. Et Sendmail n'en a plus l'exclusivit&#233; ;-)&lt;/p&gt;
&lt;p&gt;Enfin, on repproche souvent &#224; Sendmail de fonctionner en mode &#034;suid root&#034;, c'est &#224; dire avec le privil&#232;ges du super utilisateur. Cela est rendu n&#233;cessaire pour pouvoir &#233;crire le courrier de tous les utilisateurs, notamment celui de root.&lt;br class='autobr' /&gt;
En revanche, Sendmail utilise depuis la version 8 le &lt;i&gt;smrsh&lt;/i&gt;, c'est &#224; dire un &lt;i&gt;shell&lt;/i&gt; limit&#233; et sp&#233;cifique. Il regroupe plusieurs fonctions destin&#233;es &#224; la gestion de la messagerie. Enfin, il est possible (une bonne lecture de la documentation est conseill&#233;e) de le faire fonctionner via smrsh.&lt;/p&gt;
&lt;p&gt;Pour ma part, le seul probl&#232;me que j'ai pu d&#233;celer dans les 6 derniers mois est un &lt;a href=&#034;http://www.sendmail.org/sendmail.8.10.1.LINUX-SECURITY.txt&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;trou dans les noyaux Linux&lt;/a&gt; ant&#233;rieurs au 2.2.15, qui permet de prendre le contr&#244;le de la machine avec les privil&#232;ges &#034;root&#034; (&#224; cause du suid root). Les derni&#232;res versions de Sendmail v&#233;rifient si ce bug est pr&#233;sent, et refuse de s'ex&#233;cuter le cas &#233;ch&#233;ant.&lt;/p&gt;
&lt;p&gt;Mais il ne s'agit pas d'un bug propre &#224; Sendmail, mais d'un bug du noyau linux, agrav&#233; par le fait que le serveur de messagerie est ex&#233;cut&#233; en suid root.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Conclusion&lt;/h2&gt;
&lt;p&gt;C'est un tout petit article, deux ou trois arguments permettant de vous aider &#224; choisir entre tous ces logiciels de messagerie... Dans tous les cas, je vous invite &#224; commenter votre (vos) choix, pour ou contre Sendmail, Postifix, Exim, Qmail...&lt;/p&gt;
&lt;p&gt;Moi, je choisis Sendmail sans h&#233;sitation (flexibilit&#233; oblige).&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
	<item xml:lang="fr">
		<title>Les DNS de Wanadoo et... moi</title>
		<link>https://clx.asso.fr/spip/?Les-DNS-de-Wanadoo-et-moi</link>
		<guid isPermaLink="true">https://clx.asso.fr/spip/?Les-DNS-de-Wanadoo-et-moi</guid>
		<dc:date>2002-04-23T11:19:15Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		



		<description>&lt;p&gt;Comment configurer correctement le serveur DNS de sa passerelle Internet afin de conna&#238;tre le temps consomm&#233; sur son forfait Internet Wanadoo Integrales&lt;/p&gt;

-
&lt;a href="https://clx.asso.fr/spip/?-Installation-Administration-de-base-de-Linux-" rel="directory"&gt;Installation / Administration de base de Linux&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;Concilier serveur DNS et affichage de la consommation du cr&#233;dit temps des forfaits Wanadoo Integrales se r&#233;v&#218;le un v&#233;ritable casse-t&#234;te... Sauf si on modifie la configuration de son serveur DNS. Explications.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;Vous avez souscrit un forfait Wanadoo Integrales afin de vous connecter &#224; Internet. Dans le m&#234;me temps, vous avez configur&#233; un serveur DNS (bind pour ne pas le nommer)pour am&#233;liorer, entre autres, les temps de r&#233;ponse de votre r&#233;seau local.&lt;br&gt;
Or, lorsque vous voulez vous connecter &#224; la &lt;a href=&#034;http://www.wanadoo.fr/bin/frame2.cgi?s=et_moi&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;page&lt;/a&gt; vous permettant d'obtenir la consommation de votre forfait, vous vous apercevez que vous n'y avez plus acc&#232;s. Et donc, vous ne pouvez plus savoir si il vous reste du temps de connexion ou si vous avez &#233;puis&#233; votre cr&#233;dit temps.&lt;br&gt;
La solution pour afficher votre consommation Internet consiste &#224; ajouter les lignes suivantes dans le fichier /etc/named.conf (avec une Mandrake 7.1) :&lt;br&gt;&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;zone &#034;wanadoo.fr.&#034;{ type forward ; forward only ; forwarders { 193.252.19.3 ; 193.252.19.4 ; } ; } ; zone &#034;19.252.193.in-addr.arpa.&#034;{ type forward ; forward only ; forwarders { 193.252.19.3 ; 193.252.19.4 ; } ; } ;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;N'oubliez pas ensuite de relancer votre serveur DNS via la commande &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;su -c &#034;/bin/service named restart&#034;&lt;/code&gt; (toujours pour une Mandrake) ou &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;su -c &#034;/usr/sbin/ndc restart&#034;&lt;/code&gt;.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_ps'&gt;&lt;p&gt;Cet article n'est en aucune mani&#218;re associ&#233; avec le support technique du fournisseur d'acc&#218;s Internet Wanadoo et vise uniquement &#224; pr&#233;senter une solution technique &#224; certains probl&#218;mes DNS rencontr&#233;s par les utilisateurs de ce FAI... En particulier pour des acc&#218;s bas d&#233;bit (ligne classique RTC, pas ADSL).&lt;/p&gt;&lt;/div&gt;
		</content:encoded>


		

	</item>
	<item xml:lang="fr">
		<title>Chiffrer les partitions de swap</title>
		<link>https://clx.asso.fr/spip/?Chiffrer-les-partitions-de-swap</link>
		<guid isPermaLink="true">https://clx.asso.fr/spip/?Chiffrer-les-partitions-de-swap</guid>
		<dc:date>2002-04-13T17:58:48Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Fabien ILLIDE</dc:creator>


		<dc:subject>Chiffrement</dc:subject>
		<dc:subject>Mandriva / Mageia</dc:subject>

		<description>&lt;p&gt;Patch correctif pour chiffrer les partitions de swap.&lt;/p&gt;

-
&lt;a href="https://clx.asso.fr/spip/?-Installation-Administration-de-base-de-Linux-" rel="directory"&gt;Installation / Administration de base de Linux&lt;/a&gt;

/ 
&lt;a href="https://clx.asso.fr/spip/?+-Chiffrement-+" rel="tag"&gt;Chiffrement&lt;/a&gt;, 
&lt;a href="https://clx.asso.fr/spip/?+-Mandriva-Mageia-+" rel="tag"&gt;Mandriva / Mageia&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;Ce patch nous viens de la ML &lt;a href=&#034;https://www.bouissou.net/wws/info/open-crypto/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Open-Crypto&lt;/a&gt; de Michel Bouissou.&lt;/p&gt;
&lt;p&gt;J'ai test&#233; pour vous ce correctif de la Mandrake 8.2 et &#231;a marche. (C'est un bug sp&#233;cifique &#224; la Mandrake 8.2)&lt;/p&gt;
&lt;p&gt;La version d'origine se trouve &lt;a href=&#034;https://www.bouissou.net/wws/d_read/open-crypto/linux-crypto/Mdk82_fixes/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;ici&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;N.B. :
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; Ce patch de rc.sysinit a &#233;t&#233; r&#233;alis&#233; UNIQUEMENT pour une Mandrake 8.2 et n'est probablement PAS compatible avec une autre distribution.
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; Dans tous les cas de figure, ce patch n&#233;cessite la pr&#233;sence de loop-aes sur le syst&#218;me (qui est inclus avec le noyau standard sur la Mandrake 8.2).
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; L'utilisation de ce patch avec une autre distribution est susceptible de cr&#233;er des probl&#218;mes. Vous avez &#233;t&#233; pr&#233;venu ;-)
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; Dans tous les cas de figure, l'utilisation de ce patch est enti&#218;rement &#224; vos risques et p&#233;rils, et je n'assume aucune responsabilit&#233;, ni ne fournis aucune esp&#218;ce de garantie, etc.
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; Ce patch s'appliquant au script rc.sysinit sous licence GPL, est lui-m&#234;me &#233;galement sous licence GPL.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;&#034;La Mandrake 8.2, qui inclut le syst&#232;me loop-aes, permet suppos&#233;ment de chiffrer les partitions de swap de mani&#232;re tr&#232;s facile.&lt;/p&gt;
&lt;p&gt;Malheureusement, un bug dans /etc/rc.d/rc.sysinit fait que cela ne fonctionne pas. J'ai trouv&#233; le bug, et &#233;crit un patch correctif que je joins en attachement de ce message.&#034;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Installation du patch (en console root) :&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;Ce patch ce nomme doc19.gz sur le site du CLX. Renommez le en rc.sysinit.patch.gz ou adaptez les commandes ci-dessous.&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;Copier rc.sysinit.patch.gz &lt;i&gt;(ou doc19.gz)&lt;/i&gt; dans /etc/rc.d, puis :&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;cd /etc/rc.d&lt;/code&gt;&lt;br&gt;
&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;gunzip rc.sysinit.patch.gz&lt;/code&gt; &lt;i&gt;(ou doc19.gz)&lt;/i&gt;&lt;br&gt;
&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;patch &lt; rc.sysinit.patch&lt;/code&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Mise en oeuvre d'un swap chiffr&#233; :&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Il suffit d'&#233;diter /etc/fstab, et de modifier la ligne d&#233;finissant le (ou les) swap(s) comme suit (exemple) :&lt;/p&gt;
&lt;p&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/dev/hda4 swap swap defaults 0 0&lt;/code&gt;&lt;br&gt; qui devient&lt;br&gt;
&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/dev/hda4 swap swap encrypted 0 0&lt;/code&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;...puis de rebooter le syst&#232;me.&lt;/p&gt;
&lt;p&gt;Le swap sera alors automatiquement chiffr&#233; par AES128 en utilisant une cl&#233; de session al&#233;atoire diff&#233;rente &#224; chaque d&#233;marrage.&lt;/p&gt;
&lt;p&gt;Une fois la machine red&#233;marr&#233;e, il est facile de &lt;u&gt;contr&#244;ler que le swap est &lt;br class='autobr' /&gt;
d&#233;sormais chiffr&#233;&lt;/u&gt;, par exemple :&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;[root@totor etc]# swapon -s&lt;/code&gt;&lt;/b&gt;&lt;br&gt;
&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;Filename Type Size Used Priority&lt;/code&gt;&lt;br&gt;
&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/dev/loop/0 partition 128512 0 0&lt;/code&gt;&lt;br&gt;
&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/dev/loop/1 partition 128512 0 0&lt;/code&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;[root@totor etc]# losetup /dev/loop/0&lt;/code&gt;&lt;/b&gt;&lt;br&gt;
&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/dev/loop/0 : [0007]:447 (/dev/hda4) d&#233;calage 0, AES128 cryptage&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;[root@totor etc]# losetup /dev/loop/1&lt;/code&gt;&lt;/b&gt;&lt;br&gt;
&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/dev/loop/1 : [0007]:747 (/dev/sda3) d&#233;calage 0, AES128 cryptage&lt;/code&gt;&lt;/p&gt;
&lt;div class='spip_document_19 spip_document spip_documents spip_document_file spip_documents_right spip_document_right spip_document_avec_legende' data-legende-len=&#034;141&#034; data-legende-lenx=&#034;xxx&#034;
&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt;
&lt;a href='https://clx.asso.fr/spip/IMG/gz/doc-19.gz' class=&#034; spip_doc_lien&#034; title='GZ - 870 octets' type=&#034;application/x-gzip&#034;&gt;&lt;img src='https://clx.asso.fr/spip/local/cache-vignettes/L64xH64/gz-96c51.svg?1773242542' width='64' height='64' alt='' /&gt;&lt;/a&gt;
&lt;figcaption class='spip_doc_legende'&gt; &lt;div class='spip_doc_titre '&gt;&lt;strong&gt;rc.sysinit.patch.gz
&lt;/strong&gt;&lt;/div&gt; &lt;div class='spip_doc_descriptif '&gt;&lt;center&gt;Patch correctif pour chiffrer&lt;br&gt;la swap d'une Mandrake 8.2.&lt;br&gt;
A renommer en rc.sysinit.patch.gz&lt;br&gt; apr&#218;s le t&#233;l&#233;chargement.&lt;/center&gt;&lt;/div&gt; &lt;/figcaption&gt;&lt;/figure&gt;
&lt;/div&gt;&lt;/div&gt;
		&lt;div class='rss_ps'&gt;&lt;p&gt;La cl&#233; est g&#233;n&#233;r&#233;e par mcookie (man mcookie).&lt;/p&gt;
&lt;p&gt;Une cl&#233; de session al&#233;atoire est g&#233;n&#233;r&#233;e par mcookie &#224; chaque boot, et est diff&#233;rente pour chaque swap (si l'on utilise plusieurs swaps) ;&lt;/p&gt;
&lt;p&gt;Le programme mcookie utilise pour s'initialiser les &#233;l&#233;ments suivants :
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; Un m&#233;lange de diff&#233;rents param&#218;tres pseudo-al&#233;atoires du syst&#218;me &#224; l'entropie probablement faible au d&#233;marrage : Timer, N&#176; de pid...
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; 64 octets provenants de /dev/urandom (sur une Mandrake 8.2), ou 16 octets de /dev/random (sur d'autres distribs). L'entropie de /dev/random est &lt;br class='autobr' /&gt;
probablement bonne, tandis que celle de /dev/urandom peut &#233;ventuellement laisser &#224; d&#233;sirer peu de temps apr&#218;s le d&#233;marrage du syst&#218;me.
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; 40 K octets tir&#233;s du swap chiffr&#233; tel qu'il &#233;tait au d&#233;marrage de la machine, avant que celui-ci ne soit imm&#233;diatement &#233;cras&#233; par de nouvelles donn&#233;es pseudo-al&#233;atoires (par chiffrement de z&#233;ros avec la nouvelle cl&#233; de session). Le contenu du swap chiffr&#233; au d&#233;marrage de la machine est tr&#218;s hautement al&#233;atoire, et ceci me semble donc constituer une excellente source &lt;br class='autobr' /&gt;
d'entropie d'appoint.&lt;/p&gt;
&lt;p&gt;L'utilitaire mcookie faisant un m&#233;lange de tous ces &#233;l&#233;ments avant d'en ressortir un hash md5, il me semble que la cl&#233; de session obtenue en sortie offre toutes les garanties d'entropie n&#233;cessaires &#224; une utilisation en toute s&#233;curit&#233;.&lt;/p&gt;&lt;/div&gt;
		</content:encoded>


		

	</item>
	<item xml:lang="fr">
		<title>Se connecter &#224; Internet</title>
		<link>https://clx.asso.fr/spip/?Se-connecter-a-Internet</link>
		<guid isPermaLink="true">https://clx.asso.fr/spip/?Se-connecter-a-Internet</guid>
		<dc:date>2002-03-11T18:43:38Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		



		<description>&lt;p&gt;&lt;i&gt;Comment dois-je configurer ma machine pour que :
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; 1 quand ma machine se connecte &#224; internet &lt;br class='autobr' /&gt;
(par t&#233;l&#233;phone), les mails soient&lt;br class='autobr' /&gt;
t&#233;l&#233;charg&#233;s automatiquement &lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; 2 et mis &#224; dispositons des utilisateurs &lt;br class='autobr' /&gt;
(nous sommes deux). &lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; 3 Le courrier attente exp&#233;di&#233; (sendmail ?)
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; 4 qu'un message indique : &#034;t&#233;l&#233;chargement &lt;br class='autobr' /&gt;
du courrier en cours&#034;(pour &#233;viter que&lt;br class='autobr' /&gt;
l'utilisateurs ne raccroche)&lt;br class='autobr' /&gt;
&lt;/i&gt;&lt;/p&gt;

-
&lt;a href="https://clx.asso.fr/spip/?-Installation-Administration-de-base-de-Linux-" rel="directory"&gt;Installation / Administration de base de Linux&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;&lt;i&gt;&lt;br class='autobr' /&gt;
Dominique Aimon &#233;crivait :&lt;/p&gt;
&lt;p&gt;Bonjour,&lt;/p&gt;
&lt;p&gt;Comment dois-je configurer ma machine pour que :
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; 1 quand ma machine se connecte &#224; internet &lt;br class='autobr' /&gt;
(par t&#233;l&#233;phone), les mails soient&lt;br class='autobr' /&gt;
t&#233;l&#233;charg&#233;s automatiquement &lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; 2 et mis &#224; dispositons des utilisateurs &lt;br class='autobr' /&gt;
(nous sommes deux). &lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; 3 Le courrier attente exp&#233;di&#233; (sendmail ?)
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; 4 qu'un message indique : &#034;t&#233;l&#233;chargement &lt;br class='autobr' /&gt;
du courrier en cours&#034;(pour &#233;viter que&lt;br class='autobr' /&gt;
l'utilisateurs ne raccroche)&lt;br class='autobr' /&gt;
&lt;/i&gt;&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;La solution locale (&#231;a marche sur une redhat, mais je pense que &#231;a&lt;br class='autobr' /&gt;
doit &#234;tre relativement standard) :&lt;/p&gt;
&lt;p&gt;1) Pour chaque utilisateur, configurer $HOME/.fetchmailrc, qui doit&lt;br class='autobr' /&gt; ressembler &#224; :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;set postmaster &#034;lefranc&#034; poll pop3.nordnet.fr with proto POP3 user &#034;marc.lefranc&#034; there with password &#034;........&#034; is lefranc here&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;2) regarder la doc d'Eric Jacoboni sur &lt;a href=&#034;http://www.linux-france.com&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;www.linux-france.com&lt;/a&gt; (ou .org ?)&lt;br class='autobr' /&gt; concernant la configuration de sendmail pour une machine se&lt;br class='autobr' /&gt; connectant par PPP. Je crois qu'il y a quelque chose sur le site&lt;br class='autobr' /&gt; du CLX aussi.&lt;/p&gt;
&lt;p&gt; Sinon, tu peux essayer mes fichiers que je mets en annexe. Je&lt;br class='autobr' /&gt; viens juste de les modifier &#224; la suite d'un &#233;clair de g&#233;nie que&lt;br class='autobr' /&gt; j'ai eu pour r&#233;soudre un probl&#232;me que j'avais depuis longtemps.&lt;br class='autobr' /&gt; Comme quoi on s'aide parfois en rendant service aux autres. Si ce&lt;br class='autobr' /&gt; message arrive, c'est que c'est OK. Sinon, ne pas en tenir compte&lt;br class='autobr' /&gt; :-)&lt;/p&gt;
&lt;p&gt;3) cr&#233;er un script, mettons /etc/ppp/get-mail :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;1029 $ cat /etc/ppp/get-mail touch /var/lock/LCK..fetchmail su -c user1 fetchmail su -c user2 fetchmail rm -f /var/lock/LCK..fetchmail&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;4) modifier /etc/ppp/ip-up.local pour y rajouter les lignes :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;/usr/sbin/sendmail -q &amp; /etc/ppp/get-mail &amp;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;5) cr&#233;er deux scripts, mettons open-ppp et close-ppp&lt;/p&gt;
&lt;p&gt;(celui l&#224; est juste pour la sym&#233;trie, c'est ip-up.local qui fait le&lt;br class='autobr' /&gt;
boulot)&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;1030 $ cat open-ppp /sbin/ifup ppp0 1031 $ cat close-ppp while [ -f /var/lck/LCK..fetchmail ]; do sleep 5; done get-mail /sbin/ifdown ppp0&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Explication : au d&#233;marrage, get-mail est appel&#233; par ip-up.local. Quand&lt;br class='autobr' /&gt;
get-mail a termin&#233; sa besogne, il efface le fichier de lock.&lt;/p&gt;
&lt;p&gt;Lorsqu'on ferme la connection avec close-ppp, ce dernier v&#233;rifie que&lt;br class='autobr' /&gt;
le fichier de lock n'existe plus, ce qui indique que la r&#233;cup&#233;ration&lt;br class='autobr' /&gt;
du courrier lanc&#233;e au d&#233;marrage est bien termin&#233;e. On refait un&lt;br class='autobr' /&gt;
get-mail pour profiter au maximum de la connexion et on ferme.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Annexe : fichiers de configuration sendmail&lt;/h2&gt;
&lt;p&gt;(le fichier de Jacoboni, A UNE MODIF IMPORTANTE PRES)&lt;br class='autobr' /&gt;
(le paquetage sendmail-cf soit &#234;tre install&#233;)&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;1032 $ cat /usr/lib/sendmail-cf/cf/config-socrate.mc include(&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;../m4/cf.m4')dnl
OSTYPE(&lt;/code&gt;linux')dnl define(&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;SMTP_MAILER_FLAGS',&lt;/code&gt;e')dnl FEATURE(redirect)dnl FEATURE(nocanonify)dnl dnl FEATURE(always_add_domain)dnl FEATURE(local_procmail)dnl GENERICS_DOMAIN(socrate.mon-domaine localhost)dnl FEATURE(genericstable)dnl FEATURE(masquerade_envelope)dnl define(&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;confCF_VERSION',&lt;/code&gt;Eric Jacoboni - 14/01/98')dnl define(&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;confCON_EXPENSIVE',&lt;/code&gt;True')dnl define(&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;confME_TOO',&lt;/code&gt;True')dnl define(&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;confCOPY_ERRORS_TO',&lt;/code&gt;Postmaster')dnl define(&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;confDEF_CHAR_SET',&lt;/code&gt;ISO-8859-1')dnl define(&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;confMIME_FORMAT_ERRORS',&lt;/code&gt;True')dnl define(&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;SMART_HOST',&lt;/code&gt;smtp8:[smtp.nordnet.fr]')dnl define(&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;confTO_QUEUEWARN',&lt;/code&gt;48h') MAILER(local) MAILER(smtp)&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;cr&#233;er &#224; partir de l&#224; /etc/sendmail.cf par&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;1033 $ m4 config-socrate.mc &gt; /etc/sendmail.cf&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Noter que j'ai comment&#233; le &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;FEATURE(always_add_domain)dnl&lt;/code&gt; (avec le dnl&lt;br class='autobr' /&gt;
devant). C'est cette instruction qui faisait que l'adresse de&lt;br class='autobr' /&gt;
provenance d'un message envoy&#233; sur la machine locale &#233;tait r&#233;&#233;crite en&lt;br class='autobr' /&gt;
moi@fai.fr alors qu'il ne fallait pas le faire dans ce cas, parce&lt;br class='autobr' /&gt;
qu'alors le reply passe par le fournisseur. Sendmail ne r&#233;&#233;crit pas&lt;br class='autobr' /&gt;
l'adresse pour une destination bidule@machine. Si on demande d'ajouter&lt;br class='autobr' /&gt;
syst&#233;matiquement le nom de domaine, paf la r&#233;&#233;criture se met en route.&lt;/p&gt;
&lt;p&gt;Quand je pense que j'ai s&#233;ch&#233; sur ce probl&#232;me un moment et que j'avais&lt;br class='autobr' /&gt;
laiss&#233; tomber, et &#231;a m'a travers&#233; l'esprit en retournant voir pour&lt;br class='autobr' /&gt;
r&#233;diger ce message.&lt;/p&gt;
&lt;p&gt;Les r&#232;gles de r&#233;&#233;criture des adresses sortantes :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;$cat /etc/genericstable lefranc: marc.lefranc@nordnet.fr user2 : compte_user2@unautre_fai.fr&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Ensuite, il faut reg&#233;n&#233;rer la base :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;1024 $ cd /etc 1025 $ /usr/sbin/sendmail -bi -oA/etc/genericstable&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Voil&#224;. C'est tout pour ce soir. Promis.&lt;/p&gt;
&lt;p&gt;Voila, &#224; partir de l&#224;, plus rien &#224; faire, c'est compl&#232;tement&lt;br class='autobr' /&gt;
automatique, QUELQUE SOIT LE LECTEUR DE COURRIER qu'on utilise.&lt;/p&gt;
&lt;p&gt;Marc.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_ps'&gt;&lt;p&gt;Le fin du fin&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;1034 $ more .wmppprc speed: /etc/ppp/getmodemspeed start: open-ppp stop: close-ppp ifdown:&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
		</content:encoded>


		

	</item>


 
	


 
	

</channel>
</rss>
