Association Générale des Utilisateurs de logiciels libres en Côte-d'Or

logo_coagul

Mise en place des ACL sur une Debian Testing

Rubrique : Fichiers et systèmes de fichiers
Le : mardi 21 décembre 2004
Par : Tony  
Visites : 18555
Tags : acl, Débian

But de ce document

Ce document me sert de mémo pour la mise en place des ACL sur une Debian Testing. Je le diffuse en espérant qu’il puisse servir à d’autres personnes.

Je rappelle que les ACL (Listes de contrôles d’accès), 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.

Pré-requis

Avoir installé une Debian de Base :
- cf mon autre document sur ce sujet : http://www.coagul.org/article.php3 ?id_article=158

Avoir installé le noyau 2.6 pour avoir nativement le support des ACL ou avoir un noyau 2.4 supportant les ACL.
- cf mon autre document sur ce sujet.

Vérifier que le noyau supporte correctement les ACL

Les logs de votre noyau :

cat /boot/config-2.6.8-1-386 | grep _ACL

Doivent donner le résultat ci-dessous :

CONFIG_EXT3_FS_POSIX_ACL=y
CONFIG_EXT2_FS_POSIX_ACL=y
CONFIG_XFS_POSIX_ACL=y

Installation des ACL

Paquet à installer :

apt-get install acl

Activation du support des ACL sur une partition (ext3)

Par défaut le noyau 2.6, supporte les ACL sur les systèmes de fichiers suivants :ext2, ext3, jfs, xfs,...

Si la partition (ex : hda6) est déjà montée, il faut utiliser la commande suivante :

mount -o remount,acl /dev/hda6

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 :

/dev/hda6 / ext3 {{acl}},defaults,errors=remount-ro 0 1

Consulter et modifier les ACL

Pour manipuler les acl sous Linux, le paquet «  acl  », fournit les deux commandes «  getfacl  » et « setfacl  ».

Consulter les ACL du fichier test.acl :

getfacl test.acl

Ajouter l’utilisateur (u=user) tony avec un accès en écriture (w) sur le fichier test.acl

setfacl -m u:tony:w test.acl

Ajouter le group (g=group) root avec un accès en lecture (r) sur le fichier test.acl

setfacl -m g:root:w test.acl

Ajouter tous les utilisateurs (o=others) avec un accès en lecture (r) sur le fichier test.acl

setfacl -m o::r test.acl

Mettre par défaut (d) le groupe pglinux en écriture pour les nouveaux fichiers de « TestDir »

setfacl -m d:g:pglinux:w TestDir

Supprimer toutes les acl du fichier test.acl :

setfacl -b test.acl

Supprimer récursivement toutes les acl du dossiers TestDir et de tous les fichiers qu’il contient :

setfacl -b -R TestDir

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 :

-rw-rwxr-x+ 1 root root 0 2004-12-14 14:37 test.acl

Remarque : 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.

Sauvegarde des fichiers avec les ACL

Le programme «  star  », permet de faire des sauvegardes en conservant les ACL :

apt-get install star

Liens pour avoir plus d’informations

J’ai trouvé cet article particulièrement bien écrit sur le sujet et surtout assez récent :
- http://www.linuxfrench.net/article.php3 ?id_article=1463

Ne pas oublier non plus, la consultation des pages de man : setfacl, getfact et acl.

Historique des modifications

VersionDateCommentaire
0.117/12/04Création par Tony GALMICHE
0.220/12/04Ajout de nouveaux exemples et chapitre « Sauvegarde des fichiers avec les ACL »
0.2110/01/05Correction suite à remarque de Gnunux
0.2217/01/05Suppression du sommaire
0.307/02/05Ajout exemple utilisation des ACL suite à remarque sur le forum
Version imprimable de l'article

Forum


  • Sauvegarde ACL depuis windows ? Migration de fichier depuis windows
    14 février 2005

    J’ai essayé de copier les fichier de windows à samba (depuis windows) mais les ACL sont alors perdues... comment faire ?

    Du coup je me pose aussi la question pour les sauvegardes, vu que le serveur de sauvegarde est une machine windows avec backup exec...

    ( J’ai fini par réussir à installer samba avec les acl... Il manquait le parametre security=domain

    et j’avais joint le domaine avec l’utilisateur Administator, alors que visiblement il est nécessaire d’utiliser root ? ) )

    • > Sauvegarde ACL depuis windows ? Migration de fichier depuis windows
      14 février 2005, par Tony

      Jâai essayé de copier les fichier de windows à samba (depuis windows) mais les ACL sont alors perdues... comment faire ?

      C’est également le cas entre deux serveurs sous Windows NT.

      Du coup je me pose aussi la question pour les sauvegardes, vu que le serveur de sauvegarde est une machine windows avec backup exec...

      A mon avis, il faut utiliser la commande star pour sauvegarder les ACL.

      Jâai fini par réussir à installer samba avec les acl..

      Tant mieux :-)

      jâavais joint le domaine avec lâutilisateur Administator, alors que visiblement il est nécessaire dâutiliser root

      Pour faire un "net rpc join", il faut être sous root, mais il faut indiquer un utilisateur administrateur du Domaine et dans mon cas, root ne l’est pas. Donc, j’ai bien fait un "net rpc join -U Administrateur"

      Bonne continuation.

  • > Mise en place des ACL sur une Debian Testing
    6 février 2005

    Bonjour,

    Vous ne définissez pas ce que sont les ACL et ce qu’ils peuvent apporter.

    Merci.

    • > Mise en place des ACL sur une Debian Testing
      7 février 2005, par Tony

      C’est expliqué très succinctement dans le but du document mais j’ai ajouté un exemple pour mieux comprendre.

      Merci pour la remarque.

  • > Mise en place des ACL sur une Debian Testing
    3 février 2005

    Merci pour ce Howto,

    La mise en place des acl a bien marché pour moi sur Sarge. Le seul problem est que je voudrais faire marcher les acl avec windows/samba... J’ai lu quelque part qu’il fallait mettre une ligne dans smb.conf : Admin useres = NT-DOM+Administrator

    Mais ca ne marche pas, je recois un message d’erreur comme quoi je n’ai pas les droits de changer les droits des fichiers... (quand je le fais sur sarge en command line ca marche)

    De mettre manuellement l’administrateur du domaine comme owner poserait probablement probleme à linux, il me faut donc réussir à faire marcher le parametre "admin users"

    • > Mise en place des ACL sur une Debian Testing
      7 février 2005, par walter

      dans la ligne "Admin useres = NT-DOM+Administrator"

      tu veux faire quoi ??? mettre le group NT-DOM admin et l utilisateur Administrator aussi ??? si c’est ca je crois que tu as oublie de mettre "@" pour dire que nt-dom etait un groupe

      et tu peux enlever le + (c est comme ca sur ma mandrake, donc je pense que pour debian ca doit etre pareil )

      • > Mise en place des ACL sur une Debian Testing
        9 février 2005

        Dans 95% des docs que j’ai trouvé y’avais comme separateur le "+", dans la doc coagule y’avais le "\"... j’ai essayé les deux, mais le problème viens d’ailleurs

        La ligne indique donc l’utilisateur Administrateur du Domaine : NT-Dom\Administrator avec windbind separator = \

        • > Mise en place des ACL sur une Debian Testing
          9 février 2005, par Tony

          C’est la paramètre « winbind separator » qui défini le séparateur.

          J’ai utilisé le \, car c’est ce caractère qui est utilisé sous les postes Windows. Mais ça fonctionne également avec @ et + et sûrement avec d’autres caractères.

Site réalisé sous Spip. Merci à NFrance pour son hébergement gracieusement offert. Tous les articles de ce site sont sous licence Creative Commons by-nc-sa (CC).