Acl Linux

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 17

LES ACLs

PRESENTATION

Access control lists (ACLs)

Les droits standards et les droits étendus sont des


fonctionnalités intéressantes mais qui ne s’applique
que pour un seul utilisateur ou un seul groupe.
Comment définir des permissions spécifiques, voire
différents, pour d’autres utilisateurs ou groupes que
les propriétaires ? Les ACLs offrent une réponse à
cette question.

Les ACLs Linux sont supportées nativement sur les distributions


basées Red Hat.

2
PRESENTATION

1. Complément aux droits standards et


étendus

Les Access control lists (ACLs) permettent de définir


des permissions différentes pour un ou plusieurs
utilisateurs / groupes sur un fichier / répertoire.

A une époque, il fallait adapter le noyau et le FS au


support des ACLs. Techniquement, ces informations
étendues sur les fichiers sont enregistrées en tant
que méta-donnés su FS.

3
PRESENTATION

2. DÉFINIR LES ACL D'ACCÈS

Il existe deux types d'ACL : les ACL d'accès et les


ACL par défaut. Une ACL d'accès est une liste de
contrôle d'accès pour un fichier ou répertoire
particulier. Une ACL par défaut peut uniquement
être associée à un répertoire. Si un fichier dans
le répertoire ne possède pas d'ACL d'accès, alors
il utilise les règles de l'ACL par défaut du
répertoire. Les ACL par défaut sont optionnelles.

4
PRESENTATION

2. DÉFINIR LES ACL D'ACCÈS

Les ACL peuvent être configurées :



Par utilisateur

Par groupe

Via le masque des droits en vigueur

Pour les utilisateur ne se trouvant pas dans le
groupe d'utilisateurs du fichier

5
PRESENTATION

2. DÉFINIR LES ACL D'ACCÈS

L'utilitaire setfacl définit les ACL pour les


fichiers et répertoires. Veuillez utiliser l'option -
m pour ajouter ou modifier l'ACL d'un fichier ou
répertoire :

# setfacl -m rules files

6
PRESENTATION

2. DÉFINIR LES ACL D'ACCÈS

Des règles (rules) doivent être spécifiées sous


les formats suivants. De multiples règles
peuvent être spécifiées dans la même
commande si celles-ci sont séparées par des
virgules.

7
PRESENTATION

2. DÉFINIR LES ACL D'ACCÈS

u:uid:perms
Définit l'ACL d'accès d'un utilisateur. Le nom
d'utilisateur, ou UID, peut être spécifié. L'utilisateur
peut être tout utilisateur valide sur le système.

g:gid:perms
Définit l'ACL d'accès d'un groupe. Le nom du groupe,
ou GID, peut être spécifié. Le groupe peut être tout
groupe valide sur le système.

8
PRESENTATION

2. DÉFINIR LES ACL D'ACCÈS

m:perms
Définit le masque des permissions. Le masque est l'union de
toutes les permissions du groupe propriétaire et des toutes les
entrées d'utilisateur et de groupe.

o:perms
Définit l'ACL d'accès du fichier pour les utilisateurs ne faisant
pas partie du groupe.

Les permissions (perms) doivent être une combinaison des


caractères r, w et x pour lecture, écriture, et exécution.

9
PRESENTATION

2. DÉFINIR LES ACL D'ACCÈS

Si un fichier ou répertoire possède déjà une ACL


et que la commande setfacl est utilisée, les
règles supplémentaires sont ajoutées à l'ACL
existante ou la règle existante sera modifiée.

10
PRESENTATION

2. DÉFINIR LES ACL D'ACCÈS

Exemple 1. Donner des permissions de lecture et


écriture

Par exemple, pour donner les permissions de


lecture et écriture à l'utilisateur armel :

# setfacl -m u:armel:rw /project/somefile

11
PRESENTATION

2. DÉFINIR LES ACL D'ACCÈS

Pour supprimer toutes les permissions d'un


utilisateur, d'un groupe, ou autres, veuillez
utiliser l'option -x et ne spécifier aucune
permission :

# setfacl -x rules files

12
PRESENTATION

2. DÉFINIR LES ACL D'ACCÈS

Exemple 2. Supprimer toutes les permissions

Par exemple, pour supprimer toutes les


permissions de l'utilisateur possédant l'UID 500
ou armel:
# setfacl -x u:500 /project/somefile
# setfacl -x u:armel /project/somefile

13
PRESENTATION

3. DÉFINIT LES ACL PAR DÉFAUT

Pour définir une ACL par défaut, veuillez ajouter d:


avant la règle et spécifiez un répertoire à la place
d'un nom de fichier.

Les ACLs par défaut permettent de donner des


permissions ACL en héritage pour tout sous-
répertoire ou fichier créé dans un répertoire.
Toutefois, ces ACLs par défaut ne s’appliquent pas
aux objets déjà présents dans le répertoire.
14
PRESENTATION

3. DÉFINIT LES ACL PAR DÉFAUT

Dans la configuration d’un partage avec des accès


multiples, il sera donc nécessaire de procéder en deux
étapes :

Modifier l’ACL des fichiers existants


Appliquer un ACL par défaut


setfacl -R -m u:alfa:rx /opt/partage


setfacl -m d:u:alfa:rx /opt/partage

15
PRESENTATION

3. DÉFINIT LES ACL PAR DÉFAUT

Exemple 3. Définir les ACL par défaut

Par exemple, pour définir l'ACL par défaut du


répertoire /share/ afin de pouvoir effectuer des
lectures et exécutions pour les utilisateurs ne se
trouvant pas dans le groupe d'utilisateurs (une ACL
d'accès pour un fichier individuel peut la remplacer) :

# setfacl -m d:o:rx /share


16
PRESENTATION

4. Visualiser les permissions ACLs

Créer un dossier /opt/partage et visualiser les


permissions :

# mkdir /opt/partage

Visualiser les permissions ACLs du dossier avec


getfacl :
# getfacl /opt/partage
17

Vous aimerez peut-être aussi