<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="http://blog.tuxwin.net/feed/rss2/xslt" ?><rss version="2.0"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:wfw="http://wellformedweb.org/CommentAPI/"
  xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
  <title>TuxWin - Linux</title>
  <link>http://blog.tuxwin.net/</link>
  <description>Blog sur l'administration des systèmes et des réseaux informatiques</description>
  <language>fr</language>
  <pubDate>Thu, 04 Sep 2008 08:44:33 +0200</pubDate>
  <copyright></copyright>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Dotclear</generator>
  
    
  <item>
    <title>Problème d'accents sur Apache</title>
    <link>http://blog.tuxwin.net/post/2008/05/19/Probleme-daccents-sur-Apache</link>
    <guid isPermaLink="false">urn:md5:06211a6bc8686af6721b47680f8e69ba</guid>
    <pubDate>Mon, 19 May 2008 11:08:00 +0200</pubDate>
    <dc:creator>Pierre</dc:creator>
        <category>Linux</category>
        <category>caractères accentués dans Apache</category>    
    <description>    &lt;p&gt;Pour palier de façon simple à l'affichage des caractères accentués dans sur
un serveur LAMP il suffit d'éditer le fichier php.ini et de décommenter la
ligne :&lt;br /&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;default_charset = &amp;quot;iso-8859-1&amp;quot;&lt;/li&gt;
&lt;/ul&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>MSSQL avec PHP5 sous LAMP</title>
    <link>http://blog.tuxwin.net/post/2008/05/19/MSSQL-avec-PHP5-sous-LAMP</link>
    <guid isPermaLink="false">urn:md5:29b1f901b66803c8535bc6e2e20c7a08</guid>
    <pubDate>Mon, 19 May 2008 10:46:00 +0200</pubDate>
    <dc:creator>Pierre</dc:creator>
        <category>Linux</category>
        <category>mssql et php5</category>    
    <description>&lt;p&gt;Petit tuto pour se connecter à une base SQL sous LAMP&lt;/p&gt;    &lt;p&gt;La distibution utilisé est une Debian 4&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;Il faut installer les outils pour les packages Debian :&lt;br /&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;apt-get install build-essential debhelper&lt;/strong&gt;&lt;br /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Télécharger les sources pour PHP5 :&lt;br /&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;apt-get source php5&lt;/strong&gt;&lt;br /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Obtenir les dépendances pour construire le package PHP5 :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;apt-get build-dep php5&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ensuite il faut se rendre dans le répertoire PHP5 qu'on vient de télécharger
:&lt;br /&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;cd php5-x.x.x/debian&lt;/strong&gt;&lt;br /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Dans ce répertoire il faut éditer le fichier modulist et ajouter mssql MSSQL
en dessous de mysql MySQL&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;Ensuite il faut éditer le fichier rules et ajouter –with-mssql=shared,/usr \
en dessous de –with-mysql=shared,/usr \&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;Ensuite il faut éditer le fichier control et ajouter ça à la fin :&lt;/p&gt;
&lt;p&gt;Package: php5-mssql&lt;br /&gt;
Architecture: any&lt;br /&gt;
Depends: ${shlibs:Depends}, ${misc:Depends}, ${php:Depends}, php5-common (=
${Source-Version})&lt;br /&gt;
Description: MSSQL module for php5&lt;br /&gt;
This package provides a module for MSSQL using FreeTDS.&lt;br /&gt;
PHP5 is an HTML-embedded scripting language. Much of its syntax is
borrowed&lt;br /&gt;
from C, Java and Perl with a couple of unique PHP-specific features
thrown&lt;br /&gt;
in. The goal of the language is to allow web developers to write&lt;br /&gt;
dynamically generated pages quickly.&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;ensuite il faut se rendre un cran au dessus au niveau des dossiers et
lancer :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;dpkg-buildpackage&lt;/strong&gt;&lt;br /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Cette commande compile et crée le package debian PHP5-mssql.deb&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;Ensuite il faut installer le package :&lt;br /&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;dpkg -i php5-mssql.deb&lt;/strong&gt;&lt;br /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Et voilà le support de SQL Server est disponible sur un serveur LAMP&lt;/p&gt;
&lt;p&gt;Exemple de connection avec mssql_connect :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;$con = mssql_connect('IP' , 'User' ,
'password')&lt;/strong&gt; ;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Toutes les fonctions mssql sont reprises à cette &lt;a href=&quot;http://fr3.php.net/manual/fr/ref.mssql.php&quot;&gt;adresse&lt;/a&gt;&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Problème de config.inc.php</title>
    <link>http://blog.tuxwin.net/post/2008/05/06/Probleme-de-configincphp</link>
    <guid isPermaLink="false">urn:md5:c26b4d6cae81bab968d53618fe7e06ba</guid>
    <pubDate>Tue, 06 May 2008 15:24:00 +0200</pubDate>
    <dc:creator>Pierre</dc:creator>
        <category>Linux</category>
        <category>config.inc.php</category><category>phpmyadmin</category>    
    <description>&lt;p&gt;Deux petits problèmes souvent rencontrés lors de changement de serveur ou de
mot de passe mysql pour phpmyadmin&lt;/p&gt;    &lt;p&gt;Lorsque que l'on change de serveur ou de mot de passe de la base mysql
généralement on pense bien à modifier les fichiers de config d'apache et de php
mais on oublie souvent de changer le config.inc.php pour phpmyadmin donc on va
voir cela dans les deux cas :&lt;br /&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Changement de serveur&lt;/strong&gt; :&lt;br /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Il faut éditer le fichier config.inc.php de phpmyadmin et ensuite il faut
localisé le paramètre suivant :&lt;br /&gt;&lt;/p&gt;
&lt;pre&gt;
$cfg['Servers'][$i]['host'] = 'serveur';
&lt;/pre&gt;
&lt;p&gt;Et donc il faut changer le paramètre &amp;quot;serveur&amp;quot;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Changement de mot de passe base&lt;/strong&gt; :&lt;br /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Il faut éditer le fichier config.inc.php de phpmyadmin et ensuite il faut
localisé le paramètre suivant :&lt;br /&gt;&lt;/p&gt;
&lt;pre&gt;
$cfg['Servers'][$i]['password'] = 'password;
&lt;/pre&gt;
&lt;p&gt;Et donc là il faut changer le paramètre &amp;quot;password&amp;quot;&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Virtual hosts</title>
    <link>http://blog.tuxwin.net/post/2008/04/15/Virtual-hosts</link>
    <guid isPermaLink="false">urn:md5:aa0cc50488b6f3effa121e23d2e19f18</guid>
    <pubDate>Tue, 15 Apr 2008 16:18:00 +0200</pubDate>
    <dc:creator>Pierre</dc:creator>
        <category>Linux</category>
        <category>apache2</category><category>linux</category><category>Virtual hosts</category>    
    <description>&lt;p&gt;Voici une petite explication sur le fichier virtual hosts d'apache2&lt;/p&gt;    &lt;p&gt;La question en ce qui concerne souvent le virtual hosts est comment heberger
plusieurs sites avec des différents noms de domaines sur Apache2, donc on va
voir ça.&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;Les Virtual Hosts sont des fichiers de configuration d’Apache2 qui indiquent
au serveur où faire pointer la demande du nom de domaine ou de l'adresse IP
qu’il reçoit.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Un site = un Virtual Host&lt;/strong&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;Apache2 va rechercher les Virtual Hosts dans
&lt;em&gt;&lt;strong&gt;/etc/apache2/sites-available/&lt;/strong&gt;&lt;/em&gt; et
&lt;strong&gt;&lt;em&gt;/etc/apache2/sites-enabled/&lt;/em&gt;&lt;/strong&gt;.&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;Le 1er répertoire contient le fichier Virtual Host et le second contient le
lien symbolique au fichier.&lt;/p&gt;
&lt;p&gt;Exemple :&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;On va créer un fichier qui s'apellera &lt;em&gt;&lt;strong&gt;monsite1&lt;/strong&gt;&lt;/em&gt;
dans &lt;em&gt;&lt;strong&gt;/etc/apache2/sites-available/&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;Exemples de virtual host:&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;NameVirtualHost www.tuxwin.net&lt;/em&gt;&lt;br /&gt;
&lt;em&gt;&amp;lt;VirtualHost www.tuxwin.net&amp;gt;&lt;br /&gt;&lt;/em&gt; &lt;em&gt;ServerAdmin
pierre@tuxwin.net&lt;/em&gt;&lt;br /&gt;
&lt;em&gt;DocumentRoot /var/www/monsite1/&lt;br /&gt;&lt;/em&gt; &lt;em&gt;&amp;lt;Directory
/&amp;gt;&lt;br /&gt;&lt;/em&gt; &lt;em&gt;Options FollowSymLinks&lt;br /&gt;&lt;/em&gt; &lt;em&gt;AllowOverride
None&lt;br /&gt;&lt;/em&gt; &lt;em&gt;&amp;lt;/Directory&amp;gt;&lt;br /&gt;&lt;/em&gt; &lt;em&gt;&amp;lt;Directory
/var/www/monsite1/&amp;gt;&lt;br /&gt;&lt;/em&gt; &lt;em&gt;Options Indexes FollowSymLinks
MultiViews&lt;br /&gt;&lt;/em&gt; &lt;em&gt;AllowOverride None&lt;br /&gt;&lt;/em&gt; &lt;em&gt;Order
allow,deny&lt;br /&gt;&lt;/em&gt; &lt;em&gt;allow from all&lt;br /&gt;&lt;/em&gt;
&lt;em&gt;&amp;lt;/Directory&amp;gt;&lt;br /&gt;&lt;/em&gt; &lt;em&gt;&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;&lt;/em&gt;&lt;br /&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;NameVirtualHost www.tuxwin.net&lt;/em&gt; --&amp;gt; site par défaut.&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;&amp;lt;VirtualHost www.tuxwin.net&amp;gt;&lt;/em&gt; --&amp;gt; nom de domaine à
surveiller.&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;ServerAdmin pierre@tuxwin.net&lt;/em&gt; --&amp;gt;l’email inscrit dans les
messages d’erreur envoyés au client du serveur.&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;DocumentRoot /var/www/monsite1/&lt;/em&gt;--&amp;gt;racine du site.&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;&amp;lt;Directory /var/www/monsite1/&amp;gt;&lt;/em&gt; --&amp;gt; pareil que document
root.&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;La directive &lt;em&gt;Options&lt;/em&gt; indique ce qui est autorisé dans le
répertoire&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Indexes&lt;/em&gt; permet de lister le répertoire si aucun fichier prédéfini
du style de index.html ou autre n’est présent.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;FollowSymLinks&lt;/em&gt; permet de suivre les liens symboliques présent dans
le répertoire (utile par exemple quand on a mis un lien pour accéder à son
gestionnaire de base de données).&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Multiviews&lt;/em&gt; permet l’affichage dans la langue du
navigateur.&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;AllowOverride&lt;/em&gt; valorisé à &lt;em&gt;None&lt;/em&gt; passe outre le
.htaccess&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Order&lt;/em&gt; définit l’ordre de lecture des droits&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Allow from all&lt;/em&gt; permet que le serveur soit accessible de
partout.&lt;br /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Maintenant on va rajouter le lien symbolique dans le répertoire
&lt;em&gt;&lt;strong&gt;/etc/apache2/sites-enabled/&lt;/strong&gt;&lt;/em&gt;.&lt;br /&gt;
Donc il faut taper en ligne de commande:&lt;br /&gt;
&lt;em&gt;&lt;strong&gt;a2ensite monsite1&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;Si on veux désactiver le site on tape &lt;em&gt;&lt;strong&gt;a2disite
monsite1&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Pour plus d'info aller faire un tour sur la &lt;a href=&quot;http://httpd.apache.org/docs/2.0/&quot; hreflang=&quot;fr&quot;&gt;docs d'apache2&lt;/a&gt;&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Fail2Ban</title>
    <link>http://blog.tuxwin.net/post/2008/04/13/Fail2Ban</link>
    <guid isPermaLink="false">urn:md5:8bd8aff45f12385cbb3b323847fcc3a0</guid>
    <pubDate>Sun, 13 Apr 2008 13:42:00 +0200</pubDate>
    <dc:creator>Pierre</dc:creator>
        <category>Linux</category>
        <category>brute force</category><category>fail2ban</category>    
    <description>&lt;p&gt;Comment lutter contre les attaques brutes forces avec Fail2ban&lt;/p&gt;    &lt;p&gt;Fail2ban lit les logs de divers serveurs (ssh, apache, ftp,...) à la
recherche d'erreurs d'authentification répétées et ajoute une règle iptables
pour bannir l'adresse IP de la source.&lt;br /&gt;
Vous pouvez télécharger fail2ban pour votre distribution à cette &lt;a href=&quot;http://www.fail2ban.org/wiki/index.php/Downloads&quot; hreflang=&quot;fr&quot;&gt;adresse&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;Pour l'installation c'est du classique il faut comme prérequis python par
contre.&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;Après installation pour configurer fail2ban il faut éditer le fichier
&lt;strong&gt;/etc/fail2ban/jail.conf&lt;/strong&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;Par exemple pour configurer fail2ban pour le service SSH :&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;enabled = true&lt;br /&gt;
port = ssh,sftp&lt;br /&gt;
filter = sshd&lt;br /&gt;
logpath = /var/log/auth.log&lt;br /&gt;
maxretry = 3&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;Il indique, par ordre, l'activation, les ports à bloquer avec les règles
iptables, le nom du filtre (expression régulière) associé, le fichier de log à
lire, le nombre maximal de tentatives.&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;Un certain nombre de services disposent de tels blocs de configuration, vous
pouvez les activer en passant si besoin false à true.&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.fail2ban.org/wiki/index.php/Main_Page&quot; hreflang=&quot;fr&quot;&gt;Site officiel&lt;/a&gt;&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Iperf</title>
    <link>http://blog.tuxwin.net/post/2008/02/08/Iperf</link>
    <guid isPermaLink="false">urn:md5:ed2b162fb7683cdf07c0991f58004810</guid>
    <pubDate>Fri, 08 Feb 2008 16:26:00 +0100</pubDate>
    <dc:creator>Pierre</dc:creator>
        <category>Linux</category>
        <category>Iperf</category><category>tests réseaux</category>    
    <description>&lt;p&gt;Petit tuto sur l'installation et l'utilisation Iperf&lt;/p&gt;    &lt;p&gt;&lt;em&gt;&lt;strong&gt;Installation&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;&lt;/p&gt;


&lt;p&gt;Certaines distibutions linux intègre déja Iperf dans leurs sources lists par défaut donc dans ce cas lancer la commande pour installer Iperf (sous Fedora:yum install iperf)&lt;br /&gt;
Sinon vous pouvez télécharger les binaires sur le site officiel : &lt;a href=&quot;http://dast.nlanr.net/Projects/Iperf/#download&quot; hreflang=&quot;fr&quot;&gt;http://dast.nlanr.net/&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;


&lt;p&gt;&lt;em&gt;&lt;strong&gt;Utilsation&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;&lt;/p&gt;


&lt;p&gt;Iperf doit être lancé sur deux machines se trouvant de part et d’autre du réseau à tester. La première machine lance Iperf en “mode serveur” (avec l’option -s), la seconde en “mode client” (option -c). Par défaut le test réseau se fait en utilsant le protocole TCP (mais il est également possible d’utiliser le mode UDP avec l’option -u).&lt;br /&gt;&lt;/p&gt;


&lt;p&gt;Pour lancer Iperf sur le serveur:&lt;/p&gt;

&lt;pre&gt; iperf -s&lt;/pre&gt;


&lt;p&gt;Pour lancer Iperf sur le client:&lt;/p&gt;

&lt;pre&gt; iperf -c @IP serveur&lt;/pre&gt;


&lt;p&gt;Sur un réseau local vous devriez donc obtenir une valeur proche de 100 Mbits/sec suivant vos équipements&lt;/p&gt;


&lt;p&gt;Exemples pour un serveur FTP:&lt;/p&gt;


&lt;p&gt;Côté serveur :&lt;/p&gt;


&lt;pre&gt; iperf -s -u-p 21&lt;/pre&gt;


&lt;p&gt;Côté client :&lt;/p&gt;


&lt;pre&gt; iperf -c @IP serveur -u -p 21 -l 8k -t 600 -f m&lt;/pre&gt;


&lt;p&gt;Sans option supplémentaire, le client Iperf va envoyer toutes les secondes pendant 10mn sur le port 21 du serveur un paquet de 8k.&lt;/p&gt;


&lt;p&gt;Exemple de test en utilisant le protocole UDP&lt;/p&gt;


&lt;p&gt;Côté serveur:&lt;/p&gt;


&lt;pre&gt; iperf -s -u&lt;/pre&gt;


&lt;p&gt;Côté client:&lt;/p&gt;


&lt;pre&gt; ipert -c &amp;lt;adresse IP du serveur&amp;gt; -u -b 512k&lt;/pre&gt;


&lt;p&gt;Ce couple de commandes va générer un test avec un flux réseau UDP de 512 Kbits/sec.&lt;/p&gt;


&lt;p&gt;Pour plus d'info aller sur le &lt;a href=&quot;http://dast.nlanr.net/Projects/Iperf/#whatis&quot; hreflang=&quot;fr&quot;&gt;site officiel&lt;/a&gt;&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Routage statique sur linux Debian</title>
    <link>http://blog.tuxwin.net/post/2008/02/08/Routage-statique-sur-linux-Debian</link>
    <guid isPermaLink="false">urn:md5:96119198626ba0c9ed8498d905e494e6</guid>
    <pubDate>Fri, 08 Feb 2008 11:39:00 +0100</pubDate>
    <dc:creator>Pierre</dc:creator>
        <category>Linux</category>
        <category>linux</category><category>routage sur Debian</category><category>routeurs</category>    
    <description>&lt;p&gt;Petit tuto pour mettre interconnecter deux réseaux IP avec une Debian 4&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Schéma fonctionnel :&lt;/strong&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://blog.tuxwin.net/public/screen/routedeb.jpg&quot; alt=&quot;Deux cartes&quot; style=&quot;display:block; margin:0 auto;&quot; /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Configuration des cartes réseaux :&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
les interfaces réseaux sont définies dans le fichier
&lt;strong&gt;&lt;em&gt;/etc/network/interfaces&lt;/em&gt;&lt;/strong&gt;. Ce fichier comprend tout
d’abord la définition des interfaces, puis les routes statiques si besoins. La
configuration de ce fichier pour cet exemple donne ça :&lt;br /&gt;
&lt;br /&gt;
auto eth1&lt;br /&gt;
iface eth1 inet static&lt;br /&gt;
address 192.168.0.129&lt;br /&gt;
netmask 255.255.255.0&lt;br /&gt;
network 192.168.0.0&lt;br /&gt;
broadcast 192.168.0.255&lt;br /&gt;
gateway 192.168.0.103 (eth2)&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
address 192.168.8.1&lt;br /&gt;
netmask 255.255.255.0&lt;br /&gt;
network 192.168.8.0&lt;br /&gt;
broadcast 192.168.8.255&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Activation du routage :&lt;/strong&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;Pour que le routage entre les interfaces eth0 et eth1 deviennent effectif,
il faut modifier le fichier &lt;em&gt;&lt;strong&gt;/etc/sysctl.conf&lt;/strong&gt;&lt;/em&gt; en y
ajoutant le paramètre ou en décochant la case :&lt;/p&gt;
&lt;p&gt;net.ipv4.conf.default.forwarding=1&lt;/p&gt;
&lt;p&gt;Pour vérifier si vos routes sont bonnes:&lt;br /&gt;
faites &lt;em&gt;&lt;strong&gt;route -n&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Pour ajouter une route :&lt;br /&gt;
route add X.X.X.X mask 255.255.255.0 X.X.X.X&lt;/p&gt;
&lt;p&gt;Pour ajouter une route statique dans
&lt;strong&gt;&lt;em&gt;/etc/network/interfaces&lt;/em&gt;&lt;/strong&gt; la syntaxe est :&lt;br /&gt;
up route add -net X.X.X.X netmask 255.255.255.0 gw X.X.X.X&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Ejecter une Bande avec Unix</title>
    <link>http://blog.tuxwin.net/post/2007/12/28/Ejecter-une-Bande-avec-Unix</link>
    <guid isPermaLink="false">urn:md5:8e02d705bca9b99905b1457b0a228194</guid>
    <pubDate>Fri, 28 Dec 2007 14:05:00 +0100</pubDate>
    <dc:creator>Pierre</dc:creator>
        <category>Linux</category>
        <category>Unix</category><category>éjecter une bande sur Unix</category>    
    <description>&lt;p&gt;Commande pour éjecter une bande après sauvegarde avec Unix&lt;/p&gt;    &lt;p&gt;Etant un peu fénéant et après l'avoir réalisé sur mes serveurs Windows je me
suis attaquer au &amp;quot;problème&amp;quot; d'éjecter une bande sur Unix.&lt;/p&gt;
&lt;p&gt;Après quelques petites recherches voici la ligne de code :&lt;/p&gt;
&lt;pre&gt;
      &lt;em&gt;&lt;strong&gt;tctl -f /dev/rmt0 offline&lt;/strong&gt;&lt;/em&gt;
&lt;/pre&gt;
&lt;p&gt;Bien sur /dev/rmt0 correspond à mon cas.&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Tsclient sur OpenSuse</title>
    <link>http://blog.tuxwin.net/post/2007/12/28/Tsclient-sur-OpenSuse</link>
    <guid isPermaLink="false">urn:md5:00cbd7bfa8669af426c574e698d2acbc</guid>
    <pubDate>Fri, 28 Dec 2007 13:56:00 +0100</pubDate>
    <dc:creator>Pierre</dc:creator>
        <category>Linux</category>
        <category>linux</category><category>suse</category><category>tsclient</category>    
    <description>&lt;p&gt;Petit tuto pour installer Tsclient pour OpenSuse&lt;/p&gt;    &lt;p&gt;Le RPM ne marchant pas chez moi (j'ai une OpenSuse 10.1) je vous donne une
méthode pour installer Tsclient qui est quand même plus conviviale que
rdesktop.&lt;/p&gt;
&lt;p&gt;Tout d'abord il faut installer GCC le compiler qui va bien, une install par
yast fera l'affaire&lt;/p&gt;
&lt;p&gt;Télécharger le paquet source &lt;a href=&quot;http://blog.tuxwin.net/public/Dossiers/tsclient-0.148.tar.gz&quot; hreflang=&quot;fr&quot;&gt;ici&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Se rendre où on la télécharger, en ligne de commande sur le compte
root :&lt;/p&gt;
&lt;p&gt;il faut dézippez l'archive:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;tar -xvzf tsclient-0.148.tar.gz&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Se rendre dans le dossier sortie de l'archive:&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;cd tsclient-0.148&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;
&lt;em&gt;&lt;strong&gt;./configure&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;
&lt;em&gt;&lt;strong&gt;make&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;
&lt;em&gt;&lt;strong&gt;make install&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;Voilà vous pouvez maintenant vous servir de Tsclient&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Sauve Mysql en PHP</title>
    <link>http://blog.tuxwin.net/post/2007/11/05/Sauve-Mysql-en-PHP</link>
    <guid isPermaLink="false">urn:md5:812e4c779d119a26f1f2701244937ba0</guid>
    <pubDate>Mon, 05 Nov 2007 14:34:00 +0100</pubDate>
    <dc:creator>Pierre</dc:creator>
        <category>Linux</category>
        <category>Mysql</category><category>sauve sql en PHP</category>    
    <description>&lt;p&gt;Comment sauvegarder une grosse base de données Mysql en PHP&lt;/p&gt;    &lt;p&gt;Les bases de données Mysql atteignent parfois et mêmes souvent des tailles
trop volumineuses pour être sauvegarder ou restaurer en utilisant PhpMyAdmin.
Par défaut PHP est configuré avec un timeout de 30 secondes ce qui est un peu
court pour les fichiers de bases de données de grosse taille
(max_execution_time).&lt;/p&gt;
&lt;p&gt;Donc voici deux petits scripts en PHP pour sauvegarder et restaurer des
bases de données SQL&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Paramètres&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;HOSTNAME&lt;/em&gt; : nom du serveur SQL&lt;br /&gt;
&lt;em&gt;LOGIN&lt;/em&gt; : login utilisateur&lt;br /&gt;
&lt;em&gt;PASSWORD&lt;/em&gt; : mot de passe utilisateur&lt;br /&gt;
&lt;em&gt;BDDNAME&lt;/em&gt; : nom de la base de données&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Sauvegarde.php&lt;/strong&gt;&lt;br /&gt;
&amp;lt;?&lt;br /&gt;
echo &amp;quot;Votre base est en cours de sauvegarde.......&amp;lt;br \&amp;gt;&amp;quot;;&lt;br /&gt;
system(&amp;quot;mysqldump host=HOSTNAME user=LOGIN password=PASSWORD BDDNAME &amp;gt;
backup.sql&amp;quot;);&lt;br /&gt;
echo &amp;quot;Compression du fichier.....&amp;lt;br \&amp;gt;&amp;quot;;&lt;br /&gt;
system(&amp;quot;gzip backup.sql&amp;quot;);&lt;br /&gt;
echo &amp;quot;Votre base est sauvegardé et compressé.&amp;quot;;&lt;br /&gt;
?&amp;gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Restauration.php&lt;/strong&gt;&lt;br /&gt;
&amp;lt;?&lt;br /&gt;
echo &amp;quot;Décompression du fichier.....&amp;lt;br \&amp;gt;&amp;quot;;&lt;br /&gt;
system(&amp;quot;gunzip backup.sql.gz&amp;quot;);&lt;br /&gt;
echo &amp;quot;Votre base est en cours de restauration......&amp;lt;br \&amp;gt;&amp;quot;;&lt;br /&gt;
system(&amp;quot;mysql host=HOSTNAME user=LOGIN password=PASSWORD BDDNAME &amp;lt;
backup.sql&amp;quot;);&lt;br /&gt;
echo &amp;quot;Votre base est restauré.&amp;quot;;&lt;br /&gt;
?&amp;gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;Pour des raisons de syntaxe il faut rajouter -- devant host, user et
password&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Serveur OpenSSH</title>
    <link>http://blog.tuxwin.net/post/2007/08/31/Serveur-OpenSSH</link>
    <guid isPermaLink="false">urn:md5:644c07f32e3598128aa1018f6ef5ec01</guid>
    <pubDate>Fri, 31 Aug 2007 17:30:00 +0200</pubDate>
    <dc:creator>Pierre</dc:creator>
        <category>Linux</category>
        <category>linux</category><category>openssh</category>    
    <description>&lt;p&gt;Tuto simplifiée pour l'installation du serveur OpenSSH&lt;/p&gt;    &lt;p&gt;Pour installer le serveur OpenSSH, installer le package nommé
“openssh-server”. Nous allons utiliser la solution en ligne de commande, pour
se faire, ouvrez un terminal en mode superutilisateur (Applications,
Accessoires, Terminal).&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;Installation&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;apt-get install openssh-server&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;Vous pouvez dès à présent vérifier que votre serveur fonctionne en utilisant
le client SSH mais avant, installer le si il n’est pas présent sur votre
système :&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;apt-get install openssh-client&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;Vous devez pour vous connecter sur un serveur SSH avoir un compte UNIX sur
ce même serveur. Si vous avez un compte nommé “user” avec comme mot de passe
“password” et que votre serveur est joignable soit via l’adresse 192.168.0.100
ou serverssh.example.com vous devrez alors saisir les commandes suivantes sur
votre client :&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;ssh -l user 192.168.0.100&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;user@192.168.0.100’s password&lt;/strong&gt;&lt;/em&gt;:&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;ou&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;ssh -l user serverssh.example.com&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;user@serverssh.example.com’s password:&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Saisissez le mot de passe “password” (dans mon exemple) à chaque fois que
vous voyez “password :” ce qui signifie que le serveur est en attente de votre
mot passe afin de vérifier que le compte et le mot de passe existent. Pour
modifier ce fichier vous pouvez utiliser un éditeur de texte graphique comme
Gedit (Applications &amp;gt; Accessoires &amp;gt; Éditeur de texte) ou alors un éditeur
en ligne de commande comme “vim”.&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;Paramétrage&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Vous pouvez très bien utiliser la configuration du serveur SSH telle qu’elle
est fournie ou alors la modifier pour qu’elle corresponde plus à vos exigences.
Le fichier de configuration se trouve comme tout (presque) fichier de
configuration dans le répertoire /etc. Le chemin exacte est /etc/ssh/ et se
nomme sshd_config.&lt;/p&gt;
&lt;p&gt;Parmi les différentes choses que vous pouvez faire, vous pouvez changer le
port d’écoute du serveur (22 par défaut), demander au serveur de ne répondre
qu’aux requêtes arrivant sur une adresse bien précise, autoriser ou non la
connexion en “root” (administrateur), autoriser ou non les mots de passe vide…
Toute ligne commençant par un # est considérée comme un commentaire, ce qui
veut dire qu’il vous faudra enlever ce # pour que la ligne soit prise en compte
lors de la lecture du fichier par le serveur.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Port 22&lt;/strong&gt; : vous pouvez changer ce numéro mais attention
à ne pas prendre un numéro de port déjà utilisé par un autre service
fonctionnant sur le serveur et surtout il faudra en informer les clients. La
commande susmentionné plus haut deviendra ssh -l user -p XX 192.168.0.100&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;ListenAddress 0.0.0.0&lt;/strong&gt; : Si vous laissez cette option
en l’état, votre serveur SSH sera joignable sur toutes les adresses qu’il
possède. Si vous voulez qu’il n’attende les requêtes que sur une seul adresse
ou carte réseau, vous devriez lui spécifier l’adresse à la place de 0.0.0.0.
Ex : ListenAddress 192.168.0.100&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;PermitRootLogin yes&lt;/strong&gt; : En laissant cette option avec la
valeur “yes”, vous permettez l’accès à votre serveur via le compte “root” qui
je vous le rappel est le compte administrateur du serveur. Si vous vous occupé
d’un PC “sensible” préféré la connexion au serveur via un autre compte
utilisateur et désactiver l’option en mettant la valeur “no”&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;PermitEmptyPasswords no&lt;/strong&gt; : Cette option vous protège
des accès utilisateurs qui auraient eu la mauvaise idée de créer des comptes
sans mot de passe ce qui n’est absolument pas sécurisé même sur un PC
personnel. Laisser cette option telle qu’elle est afin d’empêcher quiconque de
se connecter sur votre serveur quand se compte sera dépourvu de mot de
passe.&lt;/p&gt;
&lt;p&gt;Subsystem sftp /usr/lib/openssh/sftp-server : Cette ligne vous
permettra d’utiliser le serveur sftp inclut dans le package openssh-server.
Commenter cette ligne pour désactiver le serveur sftp.&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Openvpn, VPN SSL</title>
    <link>http://blog.tuxwin.net/post/2007/08/30/Openvpn-VPN-SSL</link>
    <guid isPermaLink="false">urn:md5:34001936e2231bac963bc9750432efb5</guid>
    <pubDate>Thu, 30 Aug 2007 17:27:00 +0200</pubDate>
    <dc:creator>Pierre</dc:creator>
        <category>Linux</category>
        <category>linux</category><category>openvpn ssl</category><category>vpn</category>    
    <description>&lt;p&gt;Petit tuto sur la mise en place d'un VPN SSL avec Openvn&lt;/p&gt;    &lt;h3&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Le but est de créer un tunnel entre le client et le serveur pour que le
client situé dans le réseau externe accède à mon réseau local.&lt;/p&gt;
&lt;p&gt;Pour une communiquer avec un poste de mon LAN, le client passera donc par le
tunnel jusqu’au serveur OpenVPN et sera ensuite routé sur mon LAN.&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;Installation&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Avec OpenVPN, la notion de client et de serveur n’existe pas étant donné que
c’est le même logiciel qui peut faire office de client ou de serveur. Dans mon
cas, le serveur est installé sur une Debian 4 et les clients sont sous Windows
XP ou Vista.&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;Installation du serveur sur Debian&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;ins&gt;&lt;em&gt;OpenVPN&lt;/em&gt;&lt;/ins&gt;&lt;/p&gt;
&lt;p&gt;Paquet à installer :&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;apt-get install openvpn&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;OpenVPN permet à l’aide de l’outil « liblzo1 » de compresser les
données passant dans le tunnel VPN pour limiter l’utilisation de la bande
passante.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;apt-get install liblzo1&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;ins&gt;&lt;em&gt;OpenSSL&lt;/em&gt;&lt;/ins&gt;&lt;/p&gt;
&lt;p&gt;Pour sécuriser le tunnel VPN, OpenVPN utilise le programme
OpenSSL :&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;apt-get install openssl&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;Installation des client sous Windows XP et Vista&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Une version de OpenVPN avec interface graphique est disponible sur le site
openvpn.se :&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://openvpn.se/download.html&quot; hreflang=&quot;fr&quot;&gt;http://openvpn.se/download.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;La version stable actuelle est basée sur OpenVPN 2.0.9 et gui 1.0.3:&lt;/p&gt;
&lt;p&gt;&lt;em&gt;openvpn-2.0.9-gui-1.0.3-install.exe&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Lancez l’installation en gardant les options par défaut. Lorsque l’on va
vous demander d’installation un nouveau composant sur le système, faites
« continuer ». Il s’agit de la carte réseau virtuelle « TAP-Win32
Adapter V8 ».&lt;/p&gt;
&lt;p&gt;Il est possible de télécharger l’interface graphique en français:&lt;/p&gt;
&lt;p&gt;&lt;em&gt;openvpn-gui-1.0.3-fr.exe&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Remplacer le fichier “C:\Program Files\OpenVPN\bin\openvpn-gui.exe” par
celui que vous venez de télécharger.&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;Création de certificats et de clés&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;La partie la plus compliquée et la plus fastidieuse dans la mise en place
d’un serveur OpenVPN concerne la génération des clés et des certificats.
OpenVPN est livré avec plusieurs scripts permettant de générer plus facilement
les clés et les certificats pour OpenSSL. Sous Linux ces scripts sont
enregistrés dans le dossier « easy-rsa » :&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;cd /usr/share/doc/openvpn/examples/easy-rsa/&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Sous Windows:&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;cd C:\Program Files\OpenVPN\easy-rsa&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;La manipulation suivante est réalisée sur le serveur, donc sous Linux pour
moi.&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;Initialisation&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Avant d’utiliser les scripts, il faut éditer le fichier « vars »
pour initialiser les variables par défaut indiquées à la fin de ce fichier. Par
exemple :&lt;br /&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;export KEY_COUNTRY=FR&lt;/li&gt;
&lt;li&gt;export KEY_PROVINCE=France&lt;/li&gt;
&lt;li&gt;export KEY_CITY=Valence&lt;/li&gt;
&lt;li&gt;export KEY_ORG=homeunix&lt;/li&gt;
&lt;li&gt;export KEY_EMAIL=”pierre@email.fr”&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Une fois le fichier modifié, il faut initialiser les variables pour les
scripts :&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;. ./vars&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Le script suivant, permet de créer ou de réinitialiser le sous-dossier
« keys » :&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;./clean-all&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;Création du certificat de l’autorité de certification
(CA)&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Le script suivant permet de créer dans « keys » le certificat
principal du serveur « ca.crt » et la clé correspondante
« ca.key » :&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;./build-ca&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Pour les questions, la plupart des champs sont renseignés par défaut sauf le
« Common Name » qu’il faut renseigner manuellement.&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;Création du certificat et de la clé pour le serveur
OpenVPN&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Le script suivant permet de créer dans « keys » le certificat
« homeunix.crt » et la clé « homeunix.key » pour le serveur
VPN nommé par exemple « homeunix » :&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;./build-key-server homeunix&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Pour les questions, tous les champs sont renseignés par défaut sauf le
« Common Name » qu’il faut renseigner manuellement. De plus il n’est
pas nécessaire de renseigné le champ « password ».&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;Création du certificat et de la clé pour un client
OpenVPN&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Le script suivant permet de créer dans « keys » le certificat
« user_pierre.crt » et la clé « user_pierre.key » pour le
client VPN nommé par exemple « user_pierre» :&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;./build-key user_pierre&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;ATTENTION : il faut renouveler cette opération pour chaque client. Pour
les questions, tous les champs sont renseignés par défaut sauf le « Common
Name » qu’il faut renseigner manuellement. Exemple « pierre ». Chaque
« Common Name » de chaque client doit être différent. Il n’est pas
obligatoire de renseigné le champ « password ».&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;Création du paramètre Diffie Hellman&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Le script suivant permet de créer dans « keys » le fichier
« dh1024.pem » :&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;./build-dh&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;Création de la clé spéciale pour éviter les attaques dites “Man in
the middle”&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Attention : sur la ligne suivante, il n’y a pas d’espace entre les
-&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;openvpn - -genkey - -secret keys/ta.key&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;Résumé des certificats et des clés Serveur&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Le serveur a besoin de 5 fichiers:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Certificat du serveur de certification (CA) OpenSSL: ca.crt (non
secret)&lt;/li&gt;
&lt;li&gt;Clé du serveur de certification (CA) OpenSSL: ca.key (secret)&lt;/li&gt;
&lt;li&gt;Certificat du serveur OpenVPN: homeunix.crt (non secret)&lt;/li&gt;
&lt;li&gt;Clé du serveur OpenVPN: homeunix.key (secret)&lt;/li&gt;
&lt;li&gt;Paramètre Diffie Hellman: dh1024.pem (non secret)&lt;/li&gt;
&lt;li&gt;Clé d’autorisation pour accès au démon: ta.key (secret)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ces 6 fichiers sont à copier sur le serveur OpenVPN dans
/etc/openvpn/ :&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;cp ./keys/ca.crt /etc/openvpn/&lt;br /&gt;&lt;/strong&gt;&lt;/em&gt;
&lt;em&gt;&lt;strong&gt;cp ./keys/ca.key /etc/openvpn/&lt;br /&gt;&lt;/strong&gt;&lt;/em&gt; &lt;em&gt;&lt;strong&gt;cp
./keys/homeunix.crt /etc/openvpn/&lt;br /&gt;&lt;/strong&gt;&lt;/em&gt; &lt;em&gt;&lt;strong&gt;cp
./keys/homeunix.key /etc/openvpn/&lt;br /&gt;&lt;/strong&gt;&lt;/em&gt; &lt;em&gt;&lt;strong&gt;cp
./keys/dh1024.pem /etc/openvpn/&lt;br /&gt;&lt;/strong&gt;&lt;/em&gt; &lt;em&gt;&lt;strong&gt;cp
./keys/ta.key /etc/openvpnClient&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Le client a besoin de 4 fichiers, à copier dans « C :\Program
Files\OpenVPN\config », ces fichiers servant à l’authentification du client via
OpenSSL :&lt;/p&gt;
&lt;p&gt;Certificat du serveur de certification (CA) OpenSSL: ca.crt (non secret)
Certificat du client OpenVPN: user_fred.crt (non secret) Clé du client OpenVPN:
user_fred.key (secret) Clé spéciale contre attaque MITM: ta.key (secret)&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;Configuration Serveur&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;em&gt;Création d’un utilisateur avec des droits limités pour OpenVPN&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Pour limiter les risques d’attaques sur OpenVPN, il est important que le
processus d’OpenVPN fonctionne sur un utilisateur n’ayant aucun droit sur le
système. Souvent, l’utilisateur « nobody » est utilisé par défaut,
mais il est encore plus sécurisant de faire tourner chaque processus avec un
utilisateur différent. Donc, pour le processus OpenVPN, nous allons créer
l’utilisateur « openvpn » :&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;groupadd openvpn&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;
&lt;em&gt;&lt;strong&gt;useradd -d /dev/null -g openvpn -s /bin/false
openvpn&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;ins&gt;&lt;em&gt;Fichier de configuration du serveur&lt;/em&gt;&lt;/ins&gt;&lt;/p&gt;
&lt;p&gt;Par défaut OpenVPN est fourni avec plusieurs fichiers d’exemples enregistrés
dans le dossier :&lt;/p&gt;
&lt;p&gt;/usr/share/doc/openvpn/examples/sample-config-files/&lt;/p&gt;
&lt;p&gt;Pour configurer le serveur, je suis parti du fichier d’exemple
« server.conf.gz », qu’il faut donc décompresser et mettre en place dans
« /etc/openvpn » :&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;cd
/usr/share/doc/openvpn/examples/sample-config-files/&lt;br /&gt;&lt;/strong&gt;&lt;/em&gt;
&lt;em&gt;&lt;strong&gt;gunzip server.conf.gz&lt;br /&gt;&lt;/strong&gt;&lt;/em&gt; &lt;em&gt;&lt;strong&gt;cp
server.conf /etc/openvpn/&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Il suffit ensuite d’adapter ce fichier en fonction des besoins. La seule
contrainte que je dispose est de vouloir faire passer le tunnel par un firewall
d’entreprise. Ainsi j’ai choisi de passer en https (tcp et port 443). Voici
donc la configuration de mon serveur:&lt;/p&gt;
&lt;p&gt;Ports en écoute&lt;br /&gt;
&lt;em&gt;&lt;strong&gt;port 443&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;TCP or UDP server?&lt;br /&gt;
&lt;em&gt;&lt;strong&gt;proto tcp&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;==&amp;gt; port 443 + tcp = HTTPS&lt;/p&gt;
&lt;p&gt;Type d’interface réseau virtuelle créée&lt;br /&gt;
&lt;em&gt;&lt;strong&gt;dev tun&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Nom des fichiers servant à l’authentification des clients via OpenSSL&lt;br /&gt;
&lt;em&gt;&lt;strong&gt;ca ca.crt&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;
&lt;em&gt;&lt;strong&gt;cert homeunix.crt&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;
&lt;em&gt;&lt;strong&gt;key homeunix.key&lt;/strong&gt;&lt;/em&gt; This file should be kept
secret&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;dh dh1024.pem&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;tls-auth .ta.key 0&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Adresse du réseau virtuel (Le serveur aura l’adresse 10.8.0.1)&lt;br /&gt;
&lt;em&gt;&lt;strong&gt;server 10.8.0.0 255.255.255.0&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Maintain a record of client &amp;lt;-&amp;gt; virtual IP address associations in
this file. If OpenVPN goes down or is restarted, reconnecting clients can be
assigned the same virtual IP address from the pool that was previously
assigned.&lt;br /&gt;
&lt;em&gt;&lt;strong&gt;ifconfig-pool-persist ipp.txt&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Push routes to the client to allow it to reach other private subnets behind
the server. Remember that these private subnets will also need to know to route
the OpenVPN client address pool (10.8.0.0/255.255.255.0) back to the OpenVPN
server.&lt;br /&gt;
&lt;em&gt;&lt;strong&gt;push “route 192.168.1.0 255.255.255.0″&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Les clients peuvent se voir&lt;br /&gt;
&lt;em&gt;&lt;strong&gt;client-to-client&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;
&lt;em&gt;&lt;strong&gt;keepalive 10 120&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Activation de la compression&lt;br /&gt;
&lt;em&gt;&lt;strong&gt;comp-lzo&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;uset et group pour le processus&lt;br /&gt;
&lt;em&gt;&lt;strong&gt;user openvpn&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;
&lt;em&gt;&lt;strong&gt;group openvpn&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Ces lignes permettent de rendre persistante la connexion&lt;br /&gt;
&lt;em&gt;&lt;strong&gt;persist-key&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;
&lt;em&gt;&lt;strong&gt;persist-tun&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Output a short status file showing current connections, truncated and
rewritten every minute.&lt;br /&gt;
&lt;em&gt;&lt;strong&gt;status openvpn-status.log&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Niveau de log&lt;br /&gt;
&lt;em&gt;&lt;strong&gt;verb 1&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;Démarrage du serveur OpenVPN&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;La commande suivante permet de démarrer ou redémarrer le serveur :&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;/etc/init.d/openvpn restart&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Ne pas hésiter à regarder dans les logs que tout c’est bien passé :&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;tail -100 /var/log/syslog&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;En cas de problème, et pour trouver l’origine de celui-ci il faut augmenter
le niveau des logs en changeant le paramètre « verb » du fichier de
configuration :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;verb 3 : Suffisamment de logs dans la plupart des cas.&lt;/li&gt;
&lt;li&gt;verb 9 : Énormément de logs.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Bien vérifier également que le processus tourne sous l’utilisateur
« openvpn »&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;ps aux | grep openvpn&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Pour finir, si tout c’est bien passé l’interface « tun0 » doit
apparaître dans la configuration du réseau :&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;ifconfig&lt;/strong&gt;&lt;/em&gt; … tun0 Lien encap:UNSPEC HWaddr
00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 inet adr:10.8.0.1
P-t-P:10.8.0.2 Masque:255.255.255.255 UP POINTOPOINT RUNNING NOARP MULTICAST
MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX
packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 lg file
transmission:100 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;Client Windows&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;em&gt;Installation&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;L’installation ne pose aucun problème. Un simple avertissement lors de la
création de l’interface.&lt;/p&gt;
&lt;p&gt;Fichier de configuration du client&lt;/p&gt;
&lt;p&gt;Pour éditer le fichier, il est possible de faire un clic droit sur l’icône
« OpenVPN » situé à gauche de l’heure et de choisir l’option
« Éditer la configuration ». Le fichier se trouve sous « C:\Program
Files\OpenVPN\config\client.ovpn ». Voici l’exemple d’un fichier de
configuration d’un client&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;client&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;
&lt;em&gt;&lt;strong&gt;dev tun&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;
&lt;em&gt;&lt;strong&gt;proto tcp&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;
&lt;em&gt;&lt;strong&gt;remote pierre.homeunix.net 443&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;
&lt;em&gt;&lt;strong&gt;resolv-retry infinite&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;
&lt;em&gt;&lt;strong&gt;nobind&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;
&lt;em&gt;&lt;strong&gt;persist-key&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;
&lt;em&gt;&lt;strong&gt;persist-tun&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;
&lt;em&gt;&lt;strong&gt;ca ca.crt&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;
&lt;em&gt;&lt;strong&gt;cert user_pierre.crt&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;
&lt;em&gt;&lt;strong&gt;key user_pierre.key&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;
&lt;em&gt;&lt;strong&gt;tls-auth ta.key 1&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;
&lt;em&gt;&lt;strong&gt;comp-lzo&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;
&lt;em&gt;&lt;strong&gt;verb 3&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Lancement du client graphique Windows&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Pour lancer la connexion, il suffit de faire un clic droit sur l’icône
« OpenVPN » situé dans le systray et de choisir l’option
« Connecter ».&lt;/p&gt;
&lt;p&gt;Si tout se passe bien, une fenêtre affichant les logs doit s’afficher. Selon
la couleur de l’icône le statu de la connexion est différent:&lt;/p&gt;
&lt;p&gt;vert: la connexion est fonctionnelle, jaune: il y a un problème (regarder
les logs), rouge: connexion désactivée.&lt;/p&gt;
&lt;p&gt;Une fois la connexion établie, il doit être possible de pinguer le serveur
soit sur son adresse virtuelle (ex : 10.8.0.1 dans notre cas) soit sur son
adresse réelle (ex : 192.168.1.209).&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;Routage&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;A cet instant le tunnel VPN SSL est operationnel. Cependant le client
OpenVPN ne peut pas encore se connecter aux machines situés dans le réseau
local.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Activation du routage sur le serveur OpenVPN&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Pour cela, il faut activer le forwarding avec la commande
suivante :&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;La commande suivante, permet de vérifier que le forwarding est bien
activé :&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;cat /proc/sys/net/ipv4/ip_forward&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Pour que la modification soit prise en compte au redémarrage, modifier le
fichier /etc/sysctl.conf pour avoir:&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;net.ipv4.conf.default.forwarding=1&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Pour info, sous Debian Etch le fichier /etc/network/options avec
ip_forward=yes n’est plus d’actualité. Cette option fonctionne toujours mais
vous obtiendrez un jolie message : /etc/network/options is deprecated (see
README.Debian of netbase)..&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;Configuration des postes du réseau local&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Actuellement, les clients OpenVPN connaissent l’existence du réseau
192.168.1.0/24 en passant par le serveur 10.8.0.1. Cependant les postes du
réseau local ne connaissent pas le réseau 10.8.0.0/24.&lt;/p&gt;
&lt;p&gt;Mon serveur VPN est à l’adresse 192.168.1.2, il faut ajouter une route
manuellement sur chaque poste du réseau avec la commande suivante sous
Windows :&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;C:\&amp;gt;route add 10.8.0.0 mask 255.255.255.0 192.168.1.2
-p&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Pour ajouter une route sous Linux, il faut utiliser la commande
suivante :&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;route add -net 10.8.0.0 netmask 255.255.255.0 gw
192.168.1.2&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;Configuration de la gateway&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Pour éviter de devoir ajouter manuellement sur chaque poste du réseau une
route, il faut ajouter une route statique au niveau de la passerelle. Ainsi
lorsqu’un utilisateur du LAN souhaite communiquer avec un noeud situé dans le
réseau 10.8.0.0/24, il contacte sa gateway qui redirige le paquet sur le
serveur OpenVPN.&lt;/p&gt;
&lt;p&gt;Enfin dans le cas où le serveur se situe dans un réseau privé, et est donc
derrière un NAT, il faut penser à faire la correspondance entre le port et le
serveur sur la gateway. Dans mon cas il faut faire correspondre le port 443 au
serveur 192.168.1.209.&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;Partage de fichiers sous Windows XP SP2&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Par défaut, seuls les utilisateurs de son propre réseau peuvent accéder aux
dossiers partagés. Il faut donc configurer le firewall pour permettre aux
utilisateurs du réseau 10.8.0.0/24 d’accéder à ces partages.&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Pure-FTPD</title>
    <link>http://blog.tuxwin.net/post/2007/08/27/Pure-FTPD</link>
    <guid isPermaLink="false">urn:md5:f23c4b5d4a77f9edf5f12438e19744cf</guid>
    <pubDate>Mon, 27 Aug 2007 17:15:00 +0200</pubDate>
    <dc:creator>Pierre</dc:creator>
        <category>Linux</category>
        <category>ftp</category><category>linux</category><category>Pure-ftpd</category>    
    <description>&lt;p&gt;Petit tuto sur l'installation et la configuration d'un serveur FTP et rappel
sur le protocole&lt;/p&gt;    &lt;h3&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Pure-ftpd est un serveur ftp libre, sécurisé, de qualité et répondant aux
standard du protocole FTP. Il tourne sur de nombreux systèmes tel que Linux,
FreeBSD, NetBSD, AIX, …..&lt;/p&gt;
&lt;p&gt;Il possède de nombreux atouts tels que le “chroot” des répertoires, le choix
des ports pour le téléchargement passif, le support du FXP (transfert entre
deux serveurs FTP), le réglage de la bande passante, le support des ratios, le
support de ldap / mysql / postgreSQL / SSL pour l’authentification, et bien
d’autres choses encore.&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;Rappel&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Le protocole FTP (File Transfer Protocol) est, comme son nom l’indique, un
protocole de transfert de fichiers. Celui-ci a été créé en 1971, et à cette
époque on ne se souciait guère de la sécurité des données. De nos jours le
protocole FTP est très répandu et sa lacune envers la sécurité persiste. En
effet par défaut toutes les données passent en clair sur le réseau (nom
d’utilisateur/mot de passe et données).&lt;/p&gt;
&lt;p&gt;Le protocole FTP agit au niveau de la couche 7 du modèle OSI, il est base
sur un modèle client serveur avec authentification via nom d’utilisateur/mot de
passe et écoute par défaut sur les ports 20 (données) et 21 (commandes).&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;Ftp et la sécurité&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Nous avons vu que les données transitent en clair sur le réseau, cela
signifie qu’une personne mal intentionnée peut récupérer très aisément des noms
d’utilisateurs/mot de passe.&lt;/p&gt;
&lt;p&gt;Voici donc quelques précautions à prendre lorsque vous mettez en place un
serveur FTP (nous exclurons ici le fait que le serveur soit directement
vulnérable) :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Éviter d’implémenter un serveur FTP dans un réseau non commuté (un réseau
contenant des Hubs).&lt;/li&gt;
&lt;li&gt;Éviter d’implémenter un serveur FTP sur un serveur comportant des services
critiques (DNS, MAIL…).&lt;/li&gt;
&lt;li&gt;Éviter d’implémenter un serveur FTP sur un serveur comportant des données
critiques/confidentielles.&lt;/li&gt;
&lt;li&gt;Bloquer le compte root afin qu’il ne puisse pas se connecter au serveur
FTP.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Solutions adoptables pour renforcer la sécurité :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;L’utilisation d’utilisateurs virtuels (Voir ci-dessous).&lt;/li&gt;
&lt;li&gt;Combiner le FTP avec le système de cryptage SSL/TLS.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;&lt;strong&gt;Intro aux utilisateurs virtuels&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Dans le cas ou une personne mal intentionnée arrive a récupérer le nom
d’utilisateur/mot de passe d’un utilisateur (ceci est désastreux dans le cas du
compte root), celui-ci aura accès au serveur FTP mais pire encore celui-ci
pourra le cas échéant se connecter physiquement ou via SSH sur la machine
!!!&lt;/p&gt;
&lt;p&gt;La notion d’utilisateurs virtuels est très simple, il s’agit d’un
utilisateur pouvant se connecter uniquement via FTP. Toutes connexions locales,
SSH… lui seront refusées. Cependant les utilisateurs doivent posséder un
UID/GID pour que le système puisse savoir si celui-ci a le droit de lire/écrire
tel fichier/répertoire…&lt;/p&gt;
&lt;p&gt;La méthode utilisée est la suivante :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Les utilisateurs possèdent l’UID d’un utilisateur système existant,
celui-ci est souvent nommé ftpuser et en général ne possède pas de shell (ni de
mot de passe). Il est évidemment possible de créer un utilisateur virtuel
possédant le même UID que votre utilisateur système courant (afin de garder les
mêmes accès). Le même principe est utilise pour le GID.&lt;/li&gt;
&lt;li&gt;Chaque utilisateur virtuel possède un profil unique contenant ses limites
de bande passante, ses quotas, ses horaires d’accès…&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Dans le cas où vous créez un utilisateur virtuel possédant le même nom
d’utilisateur/UID que votre utilisateur système, il peut être intéressant de ne
pas mettre le même mot de passe (changez une lettre ou un chiffre).&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;Installation&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Nous allons procéder à l’installation de PureFTPd via les sources, cependant
vous pouvez tout à fait l’installer via un système de packages (portage, dpkg,
rpm…).&lt;/p&gt;
&lt;p&gt;La première étape consiste à récupérer les sources sur le site
officiel :&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;&lt;strong&gt;ftp://ftp.pureftpd.org/pub/pure-ftpd/releases/&lt;br /&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Une fois téléchargé, la procédure d’installation est la suivante :&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;tar jxvf pure-ftpd-x.x.xxx.tar.bz2&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;
&lt;em&gt;&lt;strong&gt;cd pure-ftpd-x.x.xxx&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;
&lt;em&gt;&lt;strong&gt;./configure –option1 –option2 …&lt;br /&gt;&lt;/strong&gt;&lt;/em&gt;
&lt;em&gt;&lt;strong&gt;make install-strip&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;Par défaut, les binaires seront installés dans /usr/local/(bin|sbin). Des
options sont utilisables, la liste complète est disponible en tapant :&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;./configure –help&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;Lancement du serveur&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Un utilisateur/groupe système doit être crée afin que les utilisateurs
virtuels puissent avoir une identité sur le système&lt;/p&gt;
&lt;p&gt;Voici les 2 lignes nécessaires à la création de cet
utilisateur/groupe :&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;groupadd ftpgroup&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;
&lt;em&gt;&lt;strong&gt;useradd -g ftpgroup -d /dev/null -s /bin/false
ftpuser&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;L’utilisateur système ftpuser se pourra jamais se connecter au système (home
directory et shell invalide).&lt;/p&gt;
&lt;p&gt;PureFTPd se lance de cette manière :&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;/usr/local/sbin/pure-ftpd -option1 arg1 -option2 arg2 -option3
….&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;Gestion des utilisateurs virtuels&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Le fichier contenant les utilisateurs virtuels se nomme
&lt;code&gt;/etc/pureftpd.passwd&lt;/code&gt;, et voici son organisation :&lt;/p&gt;
&lt;p&gt;Un utilisateur par ligne : &amp;lt;account&amp;gt;:&amp;lt;mot de
passe&amp;gt;:&amp;lt;uid&amp;gt;:&amp;lt;gid&amp;gt;:&amp;lt;gecos&amp;gt;:&amp;lt;home
directory&amp;gt;:&amp;lt;upload bandwidth&amp;gt;:&amp;lt;download bandwidth&amp;gt;:&amp;lt;upload
ratio&amp;gt;:&amp;lt;download ratio&amp;gt;:&amp;lt;max number of connections&amp;gt;:&amp;lt;files
quota&amp;gt;:&amp;lt;size quota&amp;gt;:&amp;lt;authorized local Ips&amp;gt;:&amp;lt;refused local
Ips&amp;gt;:&amp;lt;authorized client IPs&amp;gt;:&amp;lt;refused client Ips&amp;gt;:&amp;lt;time
restrictions&amp;gt; Les champs &amp;lt;account&amp;gt;, &amp;lt;mot de passe&amp;gt;, &amp;lt;uid&amp;gt;,
&amp;lt;gid&amp;gt; et &amp;lt;home directory&amp;gt; sont obligatoires.&lt;/p&gt;
&lt;p&gt;PureFTPd utilise la base de compte
&lt;em&gt;&lt;strong&gt;/etc/pureftpd.pdb&lt;/strong&gt;&lt;/em&gt; qui est une version “compilée” de
&lt;em&gt;&lt;strong&gt;/etc/pureftpd.passwd&lt;/strong&gt;&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Tout comme pour les utilisateurs système, il est possible
d’ajouter/modifier/effacer un utilisateur à la main directement dans le
fichier, cependant l’utilisation des commandes suivantes facilite cette
tâche : La commande pure-pw permet d’administrer le serveur, elle
s’utilise de la manière suivante :&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;pure-pw action (options)&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Voici les différentes actions possibles :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;&lt;strong&gt;useradd&lt;/strong&gt;&lt;/em&gt; Ajouter un utilisateur virtuel.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;&lt;strong&gt;usermod&lt;/strong&gt;&lt;/em&gt; Modifier un utilisateur virtuel.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;&lt;strong&gt;userdel&lt;/strong&gt;&lt;/em&gt; Supprimer un utilisateur virtuel.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;&lt;strong&gt;passwd&lt;/strong&gt;&lt;/em&gt; Modifier le mot de passe d’un utilisateur
virtuel.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;&lt;strong&gt;show&lt;/strong&gt;&lt;/em&gt; Afficher le profil d’un utilisateur
virtuel.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;&lt;strong&gt;list&lt;/strong&gt;&lt;/em&gt; Lister tous les utilisateurs virtuels.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;&lt;strong&gt;mkdb&lt;/strong&gt;&lt;/em&gt; Recréer la base de données PureFTPd
(/etc/pureftpd.pdb)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;&lt;strong&gt;Les utilisateurs virtuels&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Nous allons voir comment créer et gérer des utilisateurs virtuels.&lt;/p&gt;
&lt;p&gt;Voici la syntaxe de la commande d’ajout d’utilisateur :&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;pure-pw useradd nom d’utilisateur options (-m)&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;A chaque ajout d’un utilisateur il faut recréer la base de données PureFTPd
avec la commande :&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;pure-pw mkdb&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;L’ajout de l’option ‘-m’ lors de la création de l’utilisateur recrée
automatiquement la base de données (plus besoin de taper ‘pure-pw mkdb’).&lt;/p&gt;
&lt;p&gt;Exemple :&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;pure-pw useradd user1 -u ftpuser -g ftpgroup -d /ftp/ -y 3
-m&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Cet exemple crée un utilisateur user1 ayant l’UID de ftpuser, le GID de
ftpgroup, comme répertoire personnel /ftp/ (chroote) ainsi que trois connexions
simultanées au maximum.&lt;/p&gt;
&lt;p&gt;La commande suivante permet d’afficher les informations relatives à un
utilisateur virtuel :&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;pure-pw show nom d’utilisateur&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;La commande suivante permet de lister tous les utilisateurs virtuels du
système :&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;pure-pw list&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;Administration du serveur&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;La commande &lt;em&gt;&lt;strong&gt;pure-ftpwho&lt;/strong&gt;&lt;/em&gt; permet de lister les
utilisateurs actuellement connectés au serveur ainsi que leurs actions.&lt;/p&gt;
&lt;p&gt;La commande &lt;em&gt;&lt;strong&gt;pure-mrtg info&lt;/strong&gt;&lt;/em&gt; permet de exporter un
fichier MRTG (Graphique) sur l’utilisation du serveur.&lt;/p&gt;
&lt;p&gt;Le fichier de log des transferts est spécifié au démarrage du serveur, par
exemple si vous lancez le serveur de cette manière :&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;pure-ftpd -option -option -O
clf:/var/log/pureftpd.log&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Intégration de suse dans AD</title>
    <link>http://blog.tuxwin.net/post/2007/08/24/Integration-de-suse-dans-AD</link>
    <guid isPermaLink="false">urn:md5:3d72b56999cb17fd88aafef2bc276ca7</guid>
    <pubDate>Sun, 26 Aug 2007 19:00:00 +0200</pubDate>
    <dc:creator>Pierre</dc:creator>
        <category>Linux</category>
        <category>active directory</category><category>integration linux dans AD</category><category>suse</category>    
    <description>&lt;p&gt;Bon et bien voici un mini-tutoriel pour authentifier des clients linux sur
un domaine 2003 et incorporer ces machines dans le domaine 2003.&lt;/p&gt;    &lt;h3&gt;&lt;strong&gt;Installer le client kerberos&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Cela se fait simplement avec Yast dans les services réseaux. ATTENTION DE
METTRE LE NOM DU DOMAINE PAR DEFAUT ET NOM DU DOMAINE DNS EN MAJUSCULE.&lt;/p&gt;
&lt;p&gt;tester l’authentification kerberos : tapez &lt;em&gt;&lt;strong&gt;kinit
Administrateur&lt;/strong&gt;&lt;/em&gt; et si vous recevez un ticket tout va
bien !&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;Installer Samba&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Via le client samba dans les service réseaux de Yast ça n’a jamais bien
fonctionner chez moi alors je vous renvoie aux fichiers de configuration.&lt;/p&gt;
&lt;p&gt;Voici les paramètres à mettre au minimum dans
&lt;em&gt;&lt;strong&gt;/etc/samba/smb.conf&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;''__Supposons que le domaine 2003 s’appelle DOMAINE.2003&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;(global)&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;; nom du domaine sous sa forme NT4&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;workgroup = DOMAINE&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;; indication que l’on travaille avec de l’active directory&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;security = ads&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;; nom DNS Du domaine 2003&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;realm = DOMAINE.2003&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;; les comptes du domaine 2003 se retouveront avec un uid de 10000 à 20000
dans ;/etc/passwd&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;idmap uid = 10000-20000&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;idmap gid = 10000-20000&lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;; le shell par défaut pour les utilisateurs du doamien 2003&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;termplate shell = /bin/bash&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;; l’endroit où sera créé leur homedir (%U == nom de
l’utilisiateur)&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;template homedir = /home/%U&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;; * signifie qu’il essaiera de se connecter au server 2003 qu’il trouvera
sinon on peut mettre son ip&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;password server = *&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;; en test il est intéressant de le mettre à yes pour voir directement à la
connexion ;graphique(xdm) les utilisateurs du domaine 2003&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;; en production no est préférable&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;winbind enum users = yes /no&lt;/strong&gt;&lt;br /&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;; utile si vous n’avez qu’un seul domaine 2003&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;winbind use default domain = yes&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;On peut ensuite ajouter la machine linux au domaine 2003 avec la
commande :&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;net ads join -U Administrateur&lt;/strong&gt;&lt;/em&gt;__''&lt;/p&gt;
&lt;p&gt;ATTENTION CHAQUE MACHINE LINUX QUE VOUS JOIGNER AU DOMAINE DOIT AVOIR UN NOM
UNIQUE&lt;/p&gt;
&lt;p&gt;A ce stade vous pouvez voir la machine linux dans votre active directory
sous 2003 !&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;Winbind&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Winbind va permettre de récupérer les comptes utilisateurs 2003.
Installer-le via Yast&lt;/p&gt;
&lt;p&gt;(module samba-winbind) relancez samba : &lt;em&gt;&lt;strong&gt;rcsmb
restart&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;
relancez winbind : &lt;em&gt;&lt;strong&gt;rswinbind restart&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;tapez &lt;em&gt;&lt;strong&gt;wbinfo -u&lt;/strong&gt;&lt;/em&gt;et vous verrez normalement vos
utilisateurs 2003&lt;/p&gt;
&lt;p&gt;modifier le fichier &lt;em&gt;&lt;strong&gt;/etc/nsswitch.conf&lt;/strong&gt;&lt;/em&gt; afin que
l’authentification tienne compte de winbind&lt;/p&gt;
&lt;p&gt;passwd : compat winbind group : compat winbind&lt;/p&gt;
&lt;p&gt;tapez getent passwd et vous verrez vos utilisateurs 2003 dans /etc/passwd
avec uid &amp;gt;= 10000&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;Login graphique (xdm)&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Pour pouvoir vous logguez en mode graphique il faut impértativement avoir
une homedir, il faut donc qu’elle se crée automatiquement au premier login pour
les utilisateurs 2003&lt;/p&gt;
&lt;p&gt;rajouter la ligne dans le fichier
&lt;em&gt;&lt;strong&gt;/etc/pam.d/xdm&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;session required pam_mkhomedir.so skel =/etc/skel umask=0077&lt;/p&gt;
&lt;p&gt;Essayez de vous logguez en mode graphique&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;Remarques&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;En cas de problème : Vérifier que tous les service requis tournent
(smb, winbind) et au pire relancez ces services (voir plus haut)&lt;/p&gt;
&lt;p&gt;Pour accèder au réseau local (icone sur le bureau)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;vérifier que nmb tourne : &lt;em&gt;&lt;strong&gt;rcnmb restart&lt;/strong&gt;&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;désactiver le firewall de suse dans Yast&lt;/li&gt;
&lt;/ul&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Commandes linux</title>
    <link>http://blog.tuxwin.net/post/2007/08/13/Commandes-linux</link>
    <guid isPermaLink="false">urn:md5:db9bfdddd9cf009a14ca0e04f075a700</guid>
    <pubDate>Mon, 13 Aug 2007 18:39:00 +0200</pubDate>
    <dc:creator>Pierre</dc:creator>
        <category>Linux</category>
        <category>commandes linux</category><category>linux</category>    
    <description>&lt;p&gt;Voici un petit panel de commandes linux, bien sur elles n'y sont pas toutes
!!&lt;/p&gt;    &lt;h3&gt;&lt;strong&gt;Se déplacer dans un répertoire&lt;/strong&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;cd..&lt;/code&gt; : Remonte d’un niveau&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cd/&lt;/code&gt; : Retourne à la racine&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cd-&lt;/code&gt; : Retourne au répertoire précédent&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;&lt;strong&gt;Lister les fichiers d’un répertoire&lt;/strong&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;ls -l&lt;/code&gt; : Permet de lister les attributs des fichiers&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ls -d&lt;/code&gt; : Affiche uniquement les répertoires&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ls -a&lt;/code&gt; : Liste tous les fichiers du répertoire y compris
les fichiers cachés.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ls -m&lt;/code&gt; : Affiche les fichiers en les séparant par une
virgule.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ls -t&lt;/code&gt; : Affiche les fichiers par date.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ls -lu&lt;/code&gt; : Affiche les fichiers par date du dernier accès
et indique la date.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ls -F&lt;/code&gt; : Affiche les fichiers par type&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ls -S&lt;/code&gt; : Affiche les fichiers triés par ordre de taille
décroissante.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ls -X&lt;/code&gt; : Affiche les fichiers par type d’extension&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ls -r&lt;/code&gt; : Affiche les fichiers en ordre alphabétique
inverse&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ls -alR /&lt;/code&gt; : Affiche tous les fichiers d’un système&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ls -alR |grep doc&lt;/code&gt; : Affiche tous les fichiers contenant
doc&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;&lt;strong&gt;Copier un fichier ou un répertoire&lt;/strong&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;cp&lt;/code&gt; : Demande s’il peut écraser le nom de fichier :
répondre par Oui(y) ou Non (n)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cp -i&lt;/code&gt; : Avertit de l’existence d’un fichier du même nom
et demande s’il peut ou non le remplacer.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cp -l&lt;/code&gt; : Permet de faire un lien en “dur” entre le fichier
source et sa copie&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cp -s&lt;/code&gt; : Permet de faire un lien “symbolique” entre le
fichier source et sa copie&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cp -p&lt;/code&gt; : Permet lors de la copie de préserver toutes les
informations concernant le fichier.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cp -r&lt;/code&gt; : Permet de copier de manière récursive l’ensemble
d’un répertoire et de ses sous répertoires&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cp -b&lt;/code&gt; : Permet comme l’option -i de s’assurer que la
copie n’écrase pas un fichier existant : le fichier écrasé est sauvegardé,
seul le nom du fichier est modifié et cp ajoute un tilde(~) à la fin du nom de
fichier&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;&lt;strong&gt;Supprimer des fichiers et répertoires&lt;/strong&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;rm -d&lt;/code&gt; : Permet de supprimer un répertoire qu’il soit
plein ou non&lt;/li&gt;
&lt;li&gt;&lt;code&gt;rm -r&lt;/code&gt; : Permet de supprimer un répertoire et ses sous
répertoires&lt;/li&gt;
&lt;li&gt;&lt;code&gt;rm -f&lt;/code&gt; : Permet de supprimer les fichiers protégés en
écriture et répertoires sans confirmation&lt;/li&gt;
&lt;li&gt;&lt;code&gt;rmdir&lt;/code&gt; : Supprime un répertoire&lt;/li&gt;
&lt;li&gt;&lt;code&gt;rmdir -p rep1/rep2/rep&lt;/code&gt; : Supprime le répertoire et ses
sous répertoires associés&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;&lt;strong&gt;Créer des répertoires&lt;/strong&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;mkdir&lt;/code&gt; : Crée un répertoire&lt;/li&gt;
&lt;li&gt;&lt;code&gt;mkdir -p rep1/rep2/rep3&lt;/code&gt; :Crée un répertoire et ses sous
répertoires associés&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;&lt;strong&gt;Recherche, analyse, modification de contenus&lt;/strong&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;find /&lt;/code&gt; : Chercher a partir de la racine du fichier en
cours&lt;/li&gt;
&lt;li&gt;&lt;code&gt;find -name&lt;/code&gt; : Spécifier un nom de fichier&lt;/li&gt;
&lt;li&gt;&lt;code&gt;find -print&lt;/code&gt; : Afficher le résultat a l’écran&lt;/li&gt;
&lt;li&gt;&lt;code&gt;find, locate et which&lt;/code&gt; :Retrouver un fichier&lt;/li&gt;
&lt;li&gt;&lt;code&gt;diff&lt;/code&gt; : Affichage des différences entre fichiers&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cmp&lt;/code&gt; : Comparaison binaire&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cat et more&lt;/code&gt; : Voir un fichier&lt;/li&gt;
&lt;li&gt;&lt;code&gt;sort&lt;/code&gt; : Tri des lignes&lt;/li&gt;
&lt;li&gt;&lt;code&gt;df&lt;/code&gt; : Emplacement du montage des systèmes de fichiers
(partitions) et l’espace restant sur chacun d’eux&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Sed&lt;/code&gt; : Permet d’appliquer des commandes sur un fichier et
d’afficher le résultat (sans modification du fichier)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;du&lt;/code&gt; : Donne la place du disque utilisée par le répertoire
courant&lt;/li&gt;
&lt;li&gt;&lt;code&gt;wc&lt;/code&gt; : Comptage des mots, lignes ou caractères&lt;/li&gt;
&lt;li&gt;&lt;code&gt;file&lt;/code&gt; : Donne le type de fichier&lt;/li&gt;
&lt;li&gt;&lt;code&gt;grep -c&lt;/code&gt; : Trouver une expression rationnelle dans un
fichier: (grep) donne le nombre de fois où l’expression rationnelle a été
trouvée dans le fichier:&lt;/li&gt;
&lt;li&gt;&lt;code&gt;grep -n&lt;/code&gt; : Pour rechercher des expressions rationnelles
commençant par un tiret&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;&lt;strong&gt;Autres commandes&lt;/strong&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;pwd&lt;/code&gt; : Où suis-je ?&lt;/li&gt;
&lt;li&gt;&lt;code&gt;man&lt;/code&gt; (et nom de la commande): Rechercher des informations sur
une commande.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;which&lt;/code&gt; : Permet de connaître le chemin d’un
exécutable&lt;/li&gt;
&lt;li&gt;&lt;code&gt;mdir&lt;/code&gt; : Affiche la liste des fichiers d’une disquette
MS-Dos&lt;/li&gt;
&lt;li&gt;&lt;code&gt;mkmode&lt;/code&gt; : Crée un nom de fichier temporaire unique&lt;/li&gt;
&lt;li&gt;&lt;code&gt;emacs, joe&lt;/code&gt; : Éditer un fichier&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ln&lt;/code&gt; : UNIX permet de créer plusieurs liens sur un même
fichier avec la commande&lt;/li&gt;
&lt;li&gt;&lt;code&gt;who&lt;/code&gt; : Liste les utilisateurs connectés sur la
station&lt;/li&gt;
&lt;li&gt;&lt;code&gt;free&lt;/code&gt; : Mémoire utilisée&lt;/li&gt;
&lt;li&gt;&lt;code&gt;clear&lt;/code&gt; : Efface l’écran&lt;/li&gt;
&lt;li&gt;&lt;code&gt;touch&lt;/code&gt; : Met à jour les dates d’accès des fichiers&lt;/li&gt;
&lt;li&gt;&lt;code&gt;logout&lt;/code&gt; : Permet de fermer son compte utilisateur&lt;/li&gt;
&lt;li&gt;&lt;code&gt;logname&lt;/code&gt; : Permet de savoir sous quel nom on est
logué&lt;/li&gt;
&lt;li&gt;&lt;code&gt;tar&lt;/code&gt; : Archivage de données : la commande&lt;/li&gt;
&lt;li&gt;&lt;code&gt;q&lt;/code&gt; : quitte&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;&lt;strong&gt;Lister les fichiers d’un répertoire&lt;/strong&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;ls -l&lt;/code&gt; : Permet de lister les attributs des fichiers&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ls -d&lt;/code&gt; : Affiche uniquement les répertoires&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ls -a&lt;/code&gt; : Liste tous les fichiers du répertoire y compris
les fichiers cachés.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ls -m&lt;/code&gt; : Affiche les fichiers en les séparant par une
virgule.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ls -t&lt;/code&gt; : Affiche les fichiers par date.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ls -lu&lt;/code&gt; : Affiche les fichiers par date du dernier accès
et indique la date.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ls -F&lt;/code&gt; : Affiche les fichiers par type&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ls -S&lt;/code&gt; : Affiche les fichiers triés par ordre de taille
décroissante.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ls -X&lt;/code&gt; : Affiche les fichiers par type d’extension&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ls -r&lt;/code&gt; : Affiche les fichiers en ordre alphabétique
inverse&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ls -alR /&lt;/code&gt; : Affiche tous les fichiers d’un système&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ls -alR |grep doc&lt;/code&gt; : Affiche tous les fichiers contenant
doc&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;&lt;strong&gt;Copier un fichier ou un répertoire&lt;/strong&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;cp&lt;/code&gt; : Demande s’il peut écraser le nom de fichier :
répondre par Oui(y) ou Non (n)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cp -i&lt;/code&gt; : Avertit de l’existence d’un fichier du même nom
et demande s’il peut ou non le remplacer.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cp -l&lt;/code&gt; : Permet de faire un lien en “dur” entre le fichier
source et sa copie&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cp -s&lt;/code&gt; : Permet de faire un lien “symbolique” entre le
fichier source et sa copie&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cp -p&lt;/code&gt; : Permet lors de la copie de préserver toutes les
informations concernant le fichier.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cp -r&lt;/code&gt; : Permet de copier de manière récursive l’ensemble
d’un répertoire et de ses sous répertoires&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cp -b&lt;/code&gt; : Permet comme l’option -i de s’assurer que la
copie n’écrase pas un fichier existant : le fichier écrasé est sauvegardé,
seul le nom du fichier est modifié et cp ajoute un tilde(~) à la fin du nom de
fichier&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;&lt;strong&gt;Supprimer des fichiers et répertoires&lt;/strong&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;rm -d&lt;/code&gt; : Permet de supprimer un répertoire qu’il soit
plein ou non&lt;/li&gt;
&lt;li&gt;&lt;code&gt;rm -r&lt;/code&gt; : Permet de supprimer un répertoire et ses sous
répertoires&lt;/li&gt;
&lt;li&gt;&lt;code&gt;rm -f&lt;/code&gt; : Permet de supprimer les fichiers protégés en
écriture et répertoires sans confirmation&lt;/li&gt;
&lt;li&gt;&lt;code&gt;rmdir&lt;/code&gt; : Supprime un répertoire&lt;/li&gt;
&lt;li&gt;&lt;code&gt;rmdir -p rep1/rep2/rep&lt;/code&gt; : Supprime le répertoire et ses
sous répertoires associés&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;&lt;strong&gt;Créer des répertoires&lt;/strong&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;mkdir&lt;/code&gt; : Crée un répertoire&lt;/li&gt;
&lt;li&gt;&lt;code&gt;mkdir -p rep1/rep2/rep3&lt;/code&gt; :Crée un répertoire et ses sous
répertoires associés&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;&lt;strong&gt;Démarrage, Redémarrage et Arrêt&lt;/strong&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;startx&lt;/code&gt; : demarrer Xwindows sous linux&lt;/li&gt;
&lt;li&gt;&lt;code&gt;reboot&lt;/code&gt; : redémarre de la machine&lt;/li&gt;
&lt;li&gt;&lt;code&gt;shutdown -r&lt;/code&gt; : arrête et redémarrer (rebooter).&lt;/li&gt;
&lt;li&gt;&lt;code&gt;shutdown -h&lt;/code&gt; : arrêter proprement linux.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;exit&lt;/code&gt; : Déconnexion de l’utilisateur courant&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;&lt;strong&gt;Monter, démonter un système de fichiers&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;La commande mount est utilisée par linux dès son démarrage. Elle permet de
monter un système de fichiers. Ce montage est parfois effectué automatiquement
grâce au fichier de configuration /etc/fstab. Ce fichier contient tout ce que
linux doit monter lors de son démarrage, mount n’est accessible que par
root.&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;Commande d’administration système Linux&lt;/strong&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;at&lt;/code&gt; : Commande permettant de lancer une autre commande ou
un processus en différé.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cron&lt;/code&gt; : Outil logiciel disponible sous Unix permettant de
lancer périodiquement les processus indiqués dans la crontab.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;crontab&lt;/code&gt; : table contenant des commandes qui doivent être
exécutées périodiquement. C’est le programme cron qui lance la commande. Les
périodes peuvent être des heures (cron.hourly), des jours (cron.daily), des
semaines (cron.weekly) ou des mois (cron.monthly).&lt;/li&gt;
&lt;li&gt;&lt;code&gt;chmod&lt;/code&gt; : Placer les droits d’utilisation des fichiers&lt;/li&gt;
&lt;li&gt;&lt;code&gt;chown&lt;/code&gt; : Désigner l’utilisateur et le groupe propriétaire
des fichiers&lt;/li&gt;
&lt;li&gt;&lt;code&gt;adduser&lt;/code&gt; : Ajouter un utilisateur&lt;/li&gt;
&lt;li&gt;&lt;code&gt;passwd&lt;/code&gt; : Spécifier ou modifier un mot de passe&lt;/li&gt;
&lt;li&gt;&lt;code&gt;chfn&lt;/code&gt; : Décrire un utilisateur&lt;/li&gt;
&lt;li&gt;&lt;code&gt;userdel&lt;/code&gt; : Supprimer un utilisateur&lt;/li&gt;
&lt;li&gt;&lt;code&gt;mount&lt;/code&gt; : Utiliser votre CD-ROM, votre lecteur de
disquette&lt;/li&gt;
&lt;li&gt;&lt;code&gt;shutdown -h&lt;/code&gt; : Arrêter le système&lt;/li&gt;
&lt;li&gt;&lt;code&gt;mkbootdisk&lt;/code&gt; (device /dev/fd0 2.2.13-4.mdk): Crée une disquette
de Boot&lt;/li&gt;
&lt;li&gt;&lt;code&gt;lilo -u&lt;/code&gt; : Désinstalle LILO&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;&lt;strong&gt;Messages systèmes&lt;/strong&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;cat /proc/interrupts&lt;/code&gt; : Affiche les IRQ utilisés&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cat /proc/ioports&lt;/code&gt; : Affiche les ports I / O utilisés&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cat /proc/dma&lt;/code&gt; : Affiche l’utilisation des canaux DMA&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cat /proc/pci&lt;/code&gt; : Affiche l’utilisation des ports PCI&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;&lt;strong&gt;Gestion des processus&lt;/strong&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;top&lt;/code&gt; : permet de suivre les ressources que le processus
utilise&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ps&lt;/code&gt; : permet de connaître les processus actifs à un moment
donné&lt;/li&gt;
&lt;li&gt;&lt;code&gt;pstree&lt;/code&gt; : permet d’afficher les processus sous forme
d’arborescence et donc de voir leurs interdépendances&lt;/li&gt;
&lt;li&gt;&lt;code&gt;kill&lt;/code&gt; : Permet de tuer un processus en court :
syntaxe kill option PID.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Pour tuer le processus, je peux d’abord faire unps -ax pour connaître le
numero du PID et ensuite si par exemple le PID est 3600, je peux tuer la
connexion en faisant : root@localhost/root# kill 3600&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Dhcp sous fedora</title>
    <link>http://blog.tuxwin.net/post/2007/08/10/Dhcp-sous-fedora</link>
    <guid isPermaLink="false">urn:md5:8dba1bbdc94b83899455def29b4474f0</guid>
    <pubDate>Fri, 10 Aug 2007 18:48:00 +0200</pubDate>
    <dc:creator>Pierre</dc:creator>
        <category>Linux</category>
        <category>dhcp</category><category>Fedora</category><category>linux</category>    
    <description>&lt;p&gt;Petit tuto sur l'installation d'un serveur Dhcp sous Fedora&lt;/p&gt;    &lt;h3&gt;&lt;strong&gt;Installation&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Lancez la commande suivante en root :&lt;/p&gt;
&lt;pre&gt;
 yum install dhcp
&lt;/pre&gt;
&lt;h3&gt;&lt;strong&gt;Configuration&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;On va ensuite configurer le fichier
&lt;strong&gt;&lt;em&gt;/etc/dhcpd.conf&lt;/em&gt;&lt;/strong&gt; (à adapter selon vos
besoins) :&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Options diverses&lt;/strong&gt;&lt;br /&gt;&lt;/p&gt;
&lt;pre&gt;
 ddns-update-style none;&lt;br /&gt;
&lt;/pre&gt;
&lt;pre&gt;
 ignore client-updates;&lt;br /&gt;
&lt;/pre&gt;
&lt;pre&gt;
 authoritative;&lt;br /&gt;
&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;Adresse du reseau et son masque&lt;/strong&gt;&lt;br /&gt;&lt;/p&gt;
&lt;pre&gt;
 subnet 192.168.0.0 netmask 255.255.255.0&lt;br /&gt;
&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;Les clients auront cette adresse comme passerelle par
defaut&lt;/strong&gt;&lt;br /&gt;&lt;/p&gt;
&lt;pre&gt;
 option routers 192.168.0.1;&lt;br /&gt;
&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;Masque de sous-reseau&lt;/strong&gt;&lt;br /&gt;&lt;/p&gt;
&lt;pre&gt;
 option subnet-mask 255.255.255.0;&lt;br /&gt;
&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;On donne le nom du domaine&lt;/strong&gt;&lt;br /&gt;&lt;/p&gt;
&lt;pre&gt;
 option domain-name “test.lan”;&lt;br /&gt;
&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;Adresse des serveurs DNS&lt;/strong&gt;&lt;br /&gt;&lt;/p&gt;
&lt;pre&gt;
 option domain-name-servers 212.27.53.252;&lt;br /&gt;
&lt;/pre&gt;
&lt;pre&gt;
 option domain-name-servers 212.27.54.252;&lt;br /&gt;
&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;La plage d’adresses disponible pour les clients&lt;/strong&gt;&lt;br /&gt;&lt;/p&gt;
&lt;pre&gt;
 range 192.168.0.2 192.168.0.200;&lt;br /&gt;
&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;Et l’adresse utilisee pour la diffusion&lt;/strong&gt;&lt;br /&gt;&lt;/p&gt;
&lt;pre&gt;
 option broadcast-address 192.168.0.255;&lt;br /&gt;
&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;Le bail a une duree de 86400 s par defaut, soit 24
h&lt;/strong&gt;&lt;br /&gt;&lt;/p&gt;
&lt;pre&gt;
 default-lease-time 86400;&lt;br /&gt;
&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;On le laisse avec un maximum de 7 jours&lt;/strong&gt;&lt;br /&gt;&lt;/p&gt;
&lt;pre&gt;
 max-lease-time 604800;&lt;br /&gt;
&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;Ici on indique que l’on veut toujours attribuer la meme adresse ip a
une machine&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;(les XX:XX sont a remplacer par l’adresse mac)&lt;/p&gt;
&lt;p&gt;host xblade {hardware ethernet XX:XX:XX:XX:XX:XX; fixed-address
192.168.0.175;}&lt;br /&gt;
host helios {hardware ethernet XX:XX:XX:XX:XX:XX; fixed-address
192.168.0.188;}&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;Il ne nous reste plus qu’à tester la config et démarrer le
serveur :&lt;/p&gt;
&lt;pre&gt;
 /etc/init.d/dhcpd configtest
&lt;/pre&gt;
&lt;pre&gt;
 /etc/init.d/dhcpd start
&lt;/pre&gt;
&lt;p&gt;En cas de problème, n’hésitez pas à consulter le log d’erreurs :&lt;/p&gt;
&lt;pre&gt;
 cat /var/log/messages | grep dhcp
&lt;/pre&gt;
&lt;h3&gt;&lt;strong&gt;Test de la configuration&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Pour tester votre serveur, branchez votre machine cliente sur le réseau et
lancez la commande suivante si le système d’exploitation installé est un
linux :&lt;/p&gt;
&lt;pre&gt;
 dhclient
&lt;/pre&gt;
&lt;p&gt;Ou sous Windows, dans une boite de dialogue DOS :&lt;/p&gt;
&lt;pre&gt;
 ipconfig /release
&lt;/pre&gt;
&lt;p&gt;Et si tout fonctionne bien, vous devriez récupérer une adresse ip et les
adresses des serveurs DNS.&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Gestion des droits sur linux</title>
    <link>http://blog.tuxwin.net/post/2007/08/09/Gestion-des-droits-sur-linux</link>
    <guid isPermaLink="false">urn:md5:d881b2a89e047d1ed08f83fbafd6174d</guid>
    <pubDate>Thu, 09 Aug 2007 18:50:00 +0200</pubDate>
    <dc:creator>Pierre</dc:creator>
        <category>Linux</category>
        <category>chmod</category><category>gestion des droits</category><category>linux</category>    
    <description>&lt;p&gt;Voici un petit récapitulatif des droits sur un système qui me tient à
coeur&lt;/p&gt;    &lt;p&gt;Linux est un système multi-utilisateur. Cela signifie que plusieurs
personnes peuvent utiliser l’ordinateur simultanément (et pas uniquement les
unes à la suite des autres), et que le système se charge de faire respecter la
loi entre elles. Les ressources de la machine sont ainsi partagées
équitablement, tant au niveau de la puissance de calcul qu’au niveau de la
mémoire, du disque, des imprimantes… Cela implique une gestion avancée de la
sécurité, qui est assurée par le noyau et par le système de fichiers.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Au niveau du noyau :chaque utilisateur est identifié de manière unique par
un numéro (uid) dans le système. Ce numéro est utilisé pour vérifier les droits
de l’utilisateur, autrement dit, ce qu’il peut faire. Les droits des
utilisateurs comprennent la possibilité de lire ou écrire un fichier, d’accéder
ou non à une ressource ou d’exécuter un programme. Il est également possible de
créer un ou plusieurs “groupes” d’utilisateurs, et de donner des droits
particuliers à ces groupes. Tous les utilisateurs qui font partie de ce groupe
recevront les droits du groupe.&lt;/li&gt;
&lt;li&gt;Au niveau système de fichier :chaque fichier linux est associé à un
descripteur (i-node) qui contient un certains nombre de renseignement :
identification du propriétaire, adresse des blocs utilisés par le fichier, sa
taille en octets, son type, sa date de création … La commande linux :
&lt;em&gt;&lt;strong&gt;ls -l&lt;/strong&gt;&lt;/em&gt; permet d’en avoir un aperçu des droits&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;
  ls -l /mnt/multimedia/test.mp3
&lt;/pre&gt;
&lt;pre&gt;
  -rwxrwxrwx 1 kernel users 3.8M jun 2 2001 /mnt/multimedia/test.mp3
&lt;/pre&gt;
&lt;h3&gt;&lt;strong&gt;Le Type de fichier :&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;C’est le “-” qui indique qu’il s’agit d’un fichier ordinaire. Linux
distingue 4 types de fichiers :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Les fichiers ordinaires (-) : Se sont tous les fichiers courants,
.txt, .doc, .mp3 .jpeg ou même sans extensions.&lt;/li&gt;
&lt;li&gt;Les fichiers spéciaux (c ou b) : Se sont les fichiers associés aux
périphériques ils sont localisés dans /dev/&lt;/li&gt;
&lt;li&gt;Les répertoires (d) : Un répertoire est un fichier qui permet de
référencer d’autres fichiers. Il est constitué d’une liste de couples (nom,
index d’un i-node) qui permet d’accéder à un fichier à partir de son nom. Il
possède en particuliers 2 couples : “.” lui-même et “..” son répertoire
père. Petite exception pour / pour qui “.” et “..” font référence à
lui-même.&lt;/li&gt;
&lt;li&gt;Les liens (l) : Un lien permet d’accéder à un même fichier ou
répertoire en utilisant un nom différent.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;&lt;strong&gt;Les droits “classiques” :&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Les droits “classiques” sont représentés par “rwxrwxrwx” de l’exemple plus
haut. Vous remarquerez qu’il y’a 3 fois la même série de lettres : rwx.
Les droits d’accès à un fichier vont être donnés :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Au propriétaire du fichier, à qui correspondent les 3 premières lettres.
Dans mon exemple plus haut l’utilisateur était “kernel”.&lt;/li&gt;
&lt;li&gt;A un des groupes auquel appartient le propriétaire (les 3 lettres du
milieu), Dans mon exemple plus haut le groupe était “users”&lt;/li&gt;
&lt;li&gt;A tous les autres utilisateurs (les 3 dernières lettre)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ces droits se décomposent en 3 niveaux :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Accès en lecture (r) : les utilisateurs autorisés peuvent visualiser
le fichier ou le répertoire, ils peuvent copier le fichier vers un autre
répertoire (la copie devient alors leur propriété).&lt;/li&gt;
&lt;li&gt;Accès en écriture (w) : les utilisateurs autorisés peuvent modifier le
fichier ou le détruire. Dans le cas d’un répertoire ils peuvent manipuler
(créer, copier, déplacer ou détruire) son contenu.&lt;/li&gt;
&lt;li&gt;Accès en exécution (x) : les utilisateurs autorisés peuvent exécuter
le fichier. Si vous êtes un nouvel arrivant sur la banquise, cette notion est
très importante. Il n’y a pas de .exe sous linux/unix, pour s’exécuter un
programme a besoin d’avoir le bit exécutable à 1.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Tous ces droits sont évidement géré par des bits codés dans l’i-node du
fichier. Si le bit d’un des 9 champs est à 1 alors la lettre correspondante est
affichée sinon c’est “-”. Quelques exemples :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;-rwxr-xr-x : accès plein droit pour l’utilisateur, lecture/exécution
pour les membres du groupe de l’utilisateur idem pour les autres.&lt;/li&gt;
&lt;li&gt;-r——– : accès en lecture seule pour l’utilisateur et accès interdit
aux reste du monde (sauf root, c’est qui root ?)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Comme vous le savez il n’y a pas de règle sans exception, dans notre cas
l’exception c’est root, mais c’est qui root ? root c’est l’administrateur
mais en réalité c’est “Dieu”. Il a à peu près tous les droits même celui du
tuer le système. Vous devez donc être très gentil avec lui, sinon gare à sa
colère. Si vous avez la possibilité de vous loguer en root, je vous conseille
de limiter cela au tâches d’administration du système, une erreur est si vite
arrivée.&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;La commande chmod :&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;La commande chmod permet de modifier les droits d’accès à un fichier. Un
utilisateur ne peut modifier les droits que des fichiers qui lui appartiennent.
Sauf root bien-sûr. Les droits sous linux sont repérés par une série de 3
valeurs octales. La première correspond au propriétaire, la seconde au groupe
associé et la dernière au reste de la planète. Pour chaque catégorie
d’utilisateur l’accès en lecture vaut à 4, l’accès en écriture vaut à 2 et
l’accès en exécution 1. Quelques exemples :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Pour avoir -rwxrwxrwx sur test.mp3 je dois taper :&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;
  chmod 777 test.mp3
&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;Pour avoir -rwxr-xr-x sur test.mp3 je dois taper :&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;
  chmod 755 test.mp3
&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;Pour avoir -r——– sur test.mp3 je dois taper :&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;
  chmod 400 test.mp3
&lt;/pre&gt;
&lt;h3&gt;&lt;strong&gt;Les droits spéciaux :&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Trois fois trois font neuf, le compte est bon me direz-vous ? vous
auriez tort, car en réalité c’est trois fois quatre qui font douze. Il existe
sous linux des droits spéciaux. C’est ce qui permet par exemple que dans le
répertoire /tmp auquel tout le monde a un accès plein droit, vous ne pouviez
néanmoins supprimer les fichiers des autres utilisateurs.&lt;/p&gt;
&lt;p&gt;Droits spéciaux sur les fichiers :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;setuid :Un fichier exécutable par son propriétaire, peut être setuid. C’est
à dire qu’il s’exécute avec les droits de son propriétaire et non ceux de celui
qui le lance. C’est d’ailleurs parce que “passwd” est setuid que vous pouvez
modifier votre mot de passe avec “passwd” (ecrire dans /etc/passwd ou
/etc/shadow).&lt;/li&gt;
&lt;li&gt;setgid : De la même façon, un exécutable peut être setgid, et
s’exécuter avec les droits du groupe auquel il appartient.&lt;/li&gt;
&lt;li&gt;sticky bit : Enfin, un exécutable peut être “sticky” : cela
signifie qu’il reste en mémoire même après la fin de son exécution, pour
pouvoir être relancé plus rapidement. Attention seul root peut positionner le
sticky bit.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;&lt;strong&gt;Droits spéciaux sur les répertoires :&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Il n’y a pas de setuid pour les répertoires, en revanche,&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;setgid :Quand un répertoire est setgid, tous les fichiers créés dans ce
répertoire appartiennent au même groupe que le répertoire. C’est utilisé par
exemple quand plusieurs personnes travaillent sur un projet commun.&lt;/li&gt;
&lt;li&gt;sticky bit :Quand on positionne le sticky bit pour un répertoire, un
utilisateur ne peut effacer que les fichiers qui lui appartiennent dans ce
répertoire. C’est ce qui est utilisé pour le répertoire /tmp&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;&lt;strong&gt;chmod :&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;La logique est la même que précédemment, il suffit de rajouter une 4 ème
valeur octale, telle que setuid vaille 4, setgid vaille 2 et sticky bit vaille
1. Si vous ne souhaitez pas jouer avec les droits spéciaux, faites un chmod
avec 3 chiffres (par défaut les droits spéciaux conserveront leurs valeurs).
Mais si vous souhaitiez par exemple que le contenu du répertoire /mnt/projet
appartienne au groupe propriétaire du répertoire mais qu’en sus chacun ne
puisse que ses fichiers, vous pouvez taper :&lt;/p&gt;
&lt;pre&gt;
  chmod 3777 /mnt/projet
&lt;/pre&gt;
&lt;p&gt;Notez que c’est la colonne la plus à gauche qui code les droits
spéciaux.&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Mise en place d'un raid logiciel sur Debian</title>
    <link>http://blog.tuxwin.net/post/2007/08/02/Mise-en-place-dun-raid-logiciel-sur-Debian</link>
    <guid isPermaLink="false">urn:md5:243490a304e3f965200e90bbfd52d595</guid>
    <pubDate>Tue, 31 Jul 2007 18:47:00 +0200</pubDate>
    <dc:creator>Pierre</dc:creator>
        <category>Linux</category>
        <category>Debian</category><category>linux</category><category>raid</category>    
    <description>&lt;p&gt;Petit tuto pour réaliser un raid 5 sur Debian en comprenant le raid&lt;/p&gt;    &lt;h3&gt;&lt;strong&gt;Petit cours&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Ce système nécessite impérativement un minimum de trois disques durs.
Ceux-ci doivent généralement être de même taille, mais un grand nombre de
cartes RAID modernes autorisent des disques de tailles différentes.&lt;/p&gt;
&lt;p&gt;La capacité de stockage utile réelle, pour un système de n disques de
capacité c identiques est de (n − 1).c. En cas d’utilisation de disques de
capacités différentes, on utilisera dans la formule précédente la capacité
minimale.&lt;/p&gt;
&lt;p&gt;Ainsi, trois disques de 100 Go en RAID 5 offrent 200 Go utiles ; dix
disques, 900 Go utiles.&lt;/p&gt;
&lt;p&gt;Ce système allie sécurité (grâce à la parité) et bonne disponibilité (grâce
à la répartition de la parité), même en cas de défaillance d’un des
périphériques de stockage.&lt;/p&gt;
&lt;p&gt;Un système RAID 5 doit donc absolument être vérifié et sauvegardé très
périodiquement pour s’assurer que l’on ne risque pas de tomber sur ce genre de
cas.&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;Avantages :&lt;/strong&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;performances en lecture aussi élevées qu’en Raid 0, sécurité accrue&lt;/li&gt;
&lt;li&gt;surcoût minimal (capacité totale de n-1 disques sur un total de n
disques)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;&lt;strong&gt;Inconvénients :&lt;/strong&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;pénalité en écriture du fait du calcul de la parité&lt;/li&gt;
&lt;li&gt;minimum de 3 disques&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;&lt;strong&gt;Installation&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;em&gt;Créer une nouvelle partition&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Seul les Options que je citerai devront être changées, le reste devra garder
les valeurs par défaut. Bien sûr, les plus expérimentés choisiront la valeur
qui leur semblera la meilleure.&lt;/p&gt;
&lt;p&gt;/boot (Ici 1 Go), DEBUT DE L’ESPACE LIBRE ( Je suppose que le disque est
vierge et que les partitions vont se suivre ).&lt;/p&gt;
&lt;p&gt;SYSTEME DE FICHIER JOURNALISE :
&lt;em&gt;&lt;strong&gt;ext3&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;POINT DE MONTAGE : &lt;em&gt;&lt;strong&gt;/boot&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;INDICATEUR D’AMORCAGE : &lt;em&gt;&lt;strong&gt;Présent&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;(Très important: si vous ne sélectionnez pas l’option PRESENT dans
l’indicateur d’amorçage pour la partition /boot, Grub ne pourra pas
s’installer, et Ubuntu ne pourra démarrer)&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;Créer une nouvelle partition&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Ici nous allons créer une partition de 1 Go qui sera utilisée pour la
partition d’échange appelée SWAP.&lt;/p&gt;
&lt;p&gt;UTILISER COMME : &lt;em&gt;&lt;strong&gt;espace d’échange
SWAP&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;INDICATEUR D’AMORCE : &lt;em&gt;&lt;strong&gt;absent&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;(Seul la partition /boot a besoin d’un indicateur d’amorce pointant sur
PRESENT).&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;Créer un nouvelle partition&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Ici nous allons créer notre &lt;em&gt;&lt;strong&gt;VOLUME RAID&lt;/strong&gt;&lt;/em&gt; (toujours
pour le 1er disque dur).&lt;/p&gt;
&lt;p&gt;Taille : 16.2 Go&lt;/p&gt;
&lt;p&gt;UTILISE COMME : Volume physique RAID INDICATEUR D’AMORCE :
&lt;em&gt;&lt;strong&gt;absent&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;Partitionnement du second disque dur&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Pour ne pas créer un gros décalage entre les deux disques durs, nous allons
créer une partition de 2 Go que l’on ne va pas formater afin d’équilibrer les
partitions..&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;Créer une nouvelle partition&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Ici nous allons créer une partition de 2 Go qui ne sera pas utilisée&lt;/p&gt;
&lt;p&gt;UTILISER COMME : &lt;em&gt;&lt;strong&gt;Ne pas utiliser&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;Créer un nouvelle partition&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Ici également, nous allons créer un &lt;em&gt;&lt;strong&gt;VOLUME
RAID&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Taille : 16.2 Go&lt;/p&gt;
&lt;p&gt;UTILISE COMME : Volume physique RAID INDICATEUR D’AMORCE :
&lt;em&gt;&lt;strong&gt;absent&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Partitionner les autres disques durs de la même manière&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;Menu principal&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;- Configurer le RAID LOGICIEL &amp;gt; &lt;em&gt;&lt;strong&gt;oui&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;- Créer un périphérique Multidisque &amp;gt; &lt;em&gt;&lt;strong&gt;RAID
5&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Maintenant sélectionner les disques durs et appuyer sur entrée (dans mon cas
il y en a 3) Ensuite sélectionner le disque de hot spare (dans mon cas il n’y
en a qu’un)&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;Terminer&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Dans le menu principal vous pouvez vous apercevoir qu’il existe maintenant
un :&lt;/p&gt;
&lt;p&gt;- Périphérique RAID5 de 36.4 Go&lt;/p&gt;
&lt;p&gt;Considérez que ce PERIPHERIQUE RAID 5 est un DISQUE DUR de 36.4 Go et créez
par exemple un point de montage / en ext3 puis démarrez l’installation….&lt;/p&gt;</description>
    
    
    
      </item>
    
</channel>
</rss>