ACL sur Linux avec setfacl et getfacl

Il existe deux types d’ACL : access ACL et default ACL

  • access ACL : une liste de controle d’acces appliqué à un fichier ou à un répertoire
  • default ACL : une liste de controle d’accès appliqué uniquement aux répertoires. Si un fichier dans un repertoire n’a pas d’ACL alors le default ACL sur ce répertoire sera appliqué sur le fichier.
    Les ACL peuvent êtres configurés par user ou par groupe  ou par mask (ensemble des permissions du groupe et utilisateur propriétaire)

Deux utilitaires pour gérer les ACL :

  • getfacl : visualiser les ACLs mis en place
  • setfacl: ajouter, modifier et supprimer un ACL

[pastacode lang=”bash” message=”” highlight=”” provider=”manual”]

getfacl  => visulise les ACL appliqués sur fic
getfacl  => visualise les ACL sur rep. Les default ACL sont préfixés par "default"
setfacl -m   => Ajoute un ACL à un fichier ou un répertoire à l'aide de l'option -m
     :
        u:: => ajoute un ACL pour un utilisateur
        g:: => ajouite un ACL pour un groupe
     => une combinaison de  r (read) , w (write) et x (execute)
setfacl -x   => supprime l'ACL sur le fichier ou le répertoire
setfacl -m  d::  => configure le default ACL sur le répertoire

[/pastacode]

Exemples
  • configurer le default ACL sur rep1 avec la permission “rw” à admin :

[pastacode lang=”c” message=”” highlight=”” provider=”manual”]

root@localhost # : setfacl -m d:admin:rw rep1

[/pastacode]

  • Afficher le default ACL sur rep1 :

[pastacode lang=”bash” message=”” highlight=”” provider=”manual”]

root@localhost # : getfacl rep1/
                        # file: rep1/
                        # owner: root
                        # group: root
                        user::rwx
                        group::r-x
                        other::r-x
                        default:user::rwx
                        default:user:admin:rw-
                        default:group::r-x
                        default:mask::rwx
                        default:other::r-x

[/pastacode]

  • Ajouter un ACL au ficher fic avec la permission “rw” à admin et “r” pour admsrv

[pastacode lang=”bash” message=”” highlight=”” provider=”manual”]

 root@localhost # : setfacl -m u:admin:rw fic1
                        setfacl -m u:admsrv:r fic1

[/pastacode]

  •  Visualiser les ACLs pour fic1

[pastacode lang=”bash” message=”” highlight=”” provider=”manual”]

  root@localhost # : getfacl fic1
                        # file: fic1
                        # owner: root
                        # group: root
                        user::rw-
                        user:admsrv:r--
                        user:admin:rw-
                        group::r--
                        mask::rw-
                        other::r--

[/pastacode]

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *