Aller au contenu

La recherche est disponible uniquement en mode production. Essayez de construire puis de prévisualiser votre site pour tester la recherche localement.

Gestion des droits

Les permissions Linux classiques ne connaissent que trois entités : le propriétaire, le groupe et les autres. Dès qu’un dossier doit être partagé entre plusieurs équipes avec des droits différents, ce modèle ne suffit plus. Les ACL (Access Control List) permettent justement d’attacher plusieurs règles à un même fichier ou dossier.

Imaginons un partage commun à plusieurs utilisateurs et plusieurs services, avec l’arborescence suivante :

  • RépertoireSHARES # Tout le monde peut lire
    • acl-rules.txt # Fichier de sauvegarde des ACL
    • RépertoireIT/ # Seule l’équipe IT peut lire et écrire
      • …
    • RépertoireRH/ # Seule l’équipe RH peut lire et écrire
      • …
    • RépertoireCOMMUN/ # Tout le monde peut lire
      • …
    • RépertoirePERSO # Tout le monde peut lire
      • RépertoireUSER1/ # Seul USER1 peut lire et écrire
        • …
      • RépertoireUSER2/ # Seul USER2 peut lire et écrire
        • …

Partons également du principe que ces dossiers sont protégés contre la suppression, mais pas ceux qui seront créés dedans par la suite.

Voici la commande pour créer cette arborescence :

Fenêtre de terminal
mkdir -p /SHARES/{IT,RH,COMMUN,PERSO/{USER1,USER2}}

Nous allons appliquer ici la politique du zéro droit : on retire tout, puis on rajoute les bons droits au fur et à mesure. C’est typiquement ce que l’on retrouve — et ce que l’on devrait retrouver — comme gestion des droits en entreprise.

Commençons par uniformiser le propriétaire et le groupe de tous les répertoires :

Fenêtre de terminal
chown -R root:root /SHARES

Puis supprimons tous les droits :

Fenêtre de terminal
chmod -R 000 /SHARES

C’est à partir de là que les ACL prennent le relais : là où les permissions classiques ne peuvent désigner qu’un seul propriétaire et un seul groupe, les ACL permettent d’accumuler autant de règles que nécessaire.

Générons enfin le fichier acl-rules.txt, qui sert de sauvegarde de l’ensemble des ACL appliquées :

Fenêtre de terminal
getfacl -R /SHARES > /SHARES/acl-rules.txt

Il se restaure avec :

Fenêtre de terminal
setfacl --restore=/SHARES/acl-rules.txt

NFSv4 n’utilise pas les ACL POSIX mais son propre modèle, plus proche de celui de Windows. Les outils correspondants s’installent avec :

Fenêtre de terminal
dnf install nfs4-acl-tools