<h2>But de ce document</h2>
<p class="spip">Ce document me sert de mémo pour la <strong class="spip">mise en place des ACL sur une Debian Testing</strong>. Je le diffuse en espérant qu’il puisse servir à d’autres personnes.</p>

<p class="spip">Je rappelle que les <strong class="spip">ACL (Listes de contrôles d’accès),</strong> permettent d’étendre les droits d’accès des fichiers sous Linux pour les rendre aussi complets que ceux du système de fichier NTFS de Microsoft. Par exemple, avec les ACL, il est possible d’autoriser plusieurs groupes avec un accès en lecture/écriture et d’autres groupes (ou utilisateurs) avec un accès en lecture seule. Le support des ACL est particulièrement intéressant lors de la mise en place d’un serveur SAMBA.</p>

<h2>Pré-requis</h2>
<p class="spip">Avoir installé une Debian de Base :
<br /></p>
<li> cf mon autre document sur ce sujet : <a href="http://www.coagul.org/article.php3?id_article=158" class="spip_out">http://www.coagul.org/article.php3 ?id_article=158</a>
<p class="spip">Avoir installé le noyau 2.6 pour avoir nativement le support des ACL ou avoir un noyau 2.4 supportant les ACL.
<br /></p>
<li> cf mon autre document sur ce sujet.
<h2>Vérifier que le noyau supporte correctement les ACL </h2>
<p class="spip">Les logs de votre noyau :</p>

<p class="spip"><code class='spip_code' dir='ltr'>cat /boot/config-2.6.8-1-386 | grep _ACL</code></p>

<p class="spip">Doivent donner le résultat ci-dessous :</p>

<div style='text-align: left;' class='spip_code' dir='ltr'><code>CONFIG_EXT3_FS_POSIX_ACL=y<br />
CONFIG_EXT2_FS_POSIX_ACL=y<br />
CONFIG_XFS_POSIX_ACL=y</code></div>
<h2>Installation des ACL</h2>
<p class="spip">Paquet à installer :</p>

<p class="spip"><code class='spip_code' dir='ltr'>apt-get install acl</code></p>

<h2>Activation du support des ACL sur une partition (ext3)</h2>
<p class="spip">Par défaut le noyau 2.6, supporte les ACL sur les systèmes de fichiers suivants :ext2, ext3, jfs, xfs,...</p>

<p class="spip">Si la partition (ex : hda6) est déjà montée, il faut utiliser la commande suivante :</p>

<p class="spip"><code class='spip_code' dir='ltr'>mount -o remount,acl /dev/hda6</code></p>

<p class="spip">Si la partition n’est pas encore montée ou pour la monter automatiquement au démarrage du système, il faut modifier « /etc/fstab » et ajouter « acl » dans la liste des options :</p>

<p class="spip"><code class='spip_code' dir='ltr'>/dev/hda6 / ext3 {{acl}},defaults,errors=remount-ro 0 1</code></p>

<h2>Consulter et modifier les ACL </h2>
<p class="spip">Pour manipuler les acl sous Linux, le paquet « <strong class="spip"> acl </strong> », fournit les deux commandes « <strong class="spip"> getfacl </strong> » et « <strong class="spip">setfacl </strong> ».</p>

<p class="spip">Consulter les ACL du fichier test.acl :</p>

<p class="spip"><code class='spip_code' dir='ltr'>getfacl test.acl</code></p>

<p class="spip">Ajouter l’utilisateur (u=user) tony avec un accès en écriture (w) sur le fichier test.acl</p>

<p class="spip"><code class='spip_code' dir='ltr'>setfacl -m u:tony:w test.acl</code></p>

<p class="spip">Ajouter le group (g=group) root avec un accès en lecture (r) sur le fichier test.acl</p>

<p class="spip"><code class='spip_code' dir='ltr'>setfacl -m g:root:w test.acl</code></p>

<p class="spip">Ajouter tous les utilisateurs (o=others) avec un accès en lecture (r) sur le fichier test.acl</p>

<p class="spip"><code class='spip_code' dir='ltr'>setfacl -m o::r test.acl</code></p>

<p class="spip">Mettre par défaut (d) le groupe pglinux en écriture pour les nouveaux fichiers de « TestDir »</p>

<p class="spip"><code class='spip_code' dir='ltr'>setfacl -m d:g:pglinux:w TestDir</code></p>

<p class="spip">Supprimer toutes les acl du fichier test.acl :</p>

<p class="spip"><code class='spip_code' dir='ltr'>setfacl -b test.acl</code></p>

<p class="spip">Supprimer récursivement toutes les acl du dossiers TestDir et de tous les fichiers qu’il contient :</p>

<p class="spip"><code class='spip_code' dir='ltr'>setfacl -b -R TestDir</code></p>

<p class="spip">Lors de l’affichage détaillé des fichiers avec un « ls -l », le signe + à la fin des droits, indique que le fichier contient une ACL :</p>

<p class="spip"><code class='spip_code' dir='ltr'>-rw-rwxr-x+ 1 root root 0 2004-12-14 14:37 test.acl</code></p>

<p class="spip"><strong class="spip">Remarque</strong> : La modification ou la consultation des ACL, peut se faire en ligne de commande sous Linux ou graphiquement depuis un poste Windows, si le dossier est partagé via Samba.</p>

<h2>Sauvegarde des fichiers avec les ACL</h2>
<p class="spip">Le programme « <strong class="spip"> star </strong> », permet de faire des sauvegardes en conservant les ACL :</p>

<p class="spip"><code class='spip_code' dir='ltr'>apt-get install star</code></p>

<h2>Liens pour avoir plus d’informations</h2>
<p class="spip">J’ai trouvé cet article particulièrement bien écrit sur le sujet et surtout assez récent :
<br /></p>
<li> <a href="http://www.linuxfrench.net/article.php3?id_article=1463" class="spip_out">http://www.linuxfrench.net/article.php3 ?id_article=1463</a>
<p class="spip">Ne pas oublier non plus, la consultation des pages de man : setfacl, getfact et acl.</p>

<h2>Historique des modifications</h2>
<table class="spip">
<thead><tr class='row_first'><th scope='col'><strong class="spip">Version</strong></th><th scope='col'><strong class="spip">Date</strong></th><th scope='col'><strong class="spip">Commentaire</strong></th></tr></thead>
<tbody>
<tr class="row_even"><td>0.1</td><td>17/12/04</td><td>Création par Tony GALMICHE</td></tr>
<tr class="row_odd"><td>0.2</td><td>20/12/04</td><td>Ajout de nouveaux exemples et chapitre « Sauvegarde des fichiers avec les ACL »</td></tr>
<tr class="row_even"><td>0.21</td><td>10/01/05</td><td>Correction suite à remarque de Gnunux</td></tr>
<tr class="row_odd"><td>0.22</td><td>17/01/05</td><td>Suppression du sommaire</td></tr>
<tr class="row_even"><td>0.3</td><td>07/02/05</td><td>Ajout exemple utilisation des ACL suite à remarque sur le forum</td></tr>
</tbody>
</table>