Remarque :
- Ce tutoriel est disponible dans un environnement d'atelier gratuit fourni par Oracle.
- Il utilise des exemples de valeur pour les informations d'identification Oracle Cloud Infrastructure, la location et les compartiments. A la fin de votre atelier, remplacez ces valeurs par celles propres à votre environnement cloud.
Utilisation et activation des listes de contrôle d'accès sur Oracle Linux
Introduction
Les listes de contrôle d'accès (ACL) permettent de contrôler l'accès aux répertoires et aux fichiers. Les ACL peuvent définir des autorisations de lecture, d'écriture et d'exécution pour le propriétaire, le groupe et tous les autres utilisateurs système.
Une ACL se compose d'un ensemble de règles qui spécifient comment un utilisateur ou un groupe spécifique peut accéder aux fichiers et répertoires compatibles ACL. Une entrée d'ACL standard spécifie les informations d'accès pour un seul fichier ou répertoire. Une entrée d'ACL par défaut est définie uniquement sur les répertoires et spécifie les informations d'accès par défaut pour tout fichier du répertoire ne disposant pas d'ACL d'accès.
Lors de la définition d'une ACL par défaut sur un répertoire, ses sous-répertoires héritent automatiquement des mêmes droits. Les ACL peuvent être utilisées avec les systèmes de fichiers btrfs
, ext3
, ext4
, OCFS2
et XFS
, ainsi que les systèmes de fichiers NFS montés.
Objectifs
- Vérifier la prise en charge de l'ACL du système de fichiers
- Utiliser les commandes
setfacl
etgetfacl
pour ajouter et afficher des règles d'ACL
Conditions
Système doté d'un disque disponible et d'une installation entièrement corrigée d'Oracle Linux.
Environnement des exercices de configuration
Remarque : lorsque vous utilisez l'environnement d'atelier gratuit, reportez-vous à Oracle Linux Lab Basics pour obtenir des instructions de connexion et d'utilisation.
-
S'il n'est pas déjà connecté, ouvrez un terminal et connectez-vous via SSH à l'instance ol-node01.
ssh oracle@<ip_address_of_instance>
-
Vérifiez que les volumes de blocs existent.
sudo lsblk -f
La sortie de l'environnement d'atelier gratuit affiche deux périphériques en mode bloc :
sda
, qui contient le système d'exploitation de base etsdb
, que cet atelier utilise. L'option-f
affiche le type de système de fichiers (FSTYPE) et l'identificateur universel (UUID) des blocs.
Montage du système de fichiers avec la prise en charge ACL
-
Créez un répertoire de point de montage.
sudo mkdir /test
-
Vérifiez que la prise en charge des ACL existe.
Les systèmes de fichiers Oracle Linux tels que
ext4
,btrfs
etxfs
activent l'option de montage acl par défaut. Sur un système de fichiersext4
tel que/dev/sdb1
, vérifiez-le avectune2fs
.sudo tune2fs -l /dev/sdb1 | grep -i acl
Exemple de sortie :
[oracle@ol-node01 ~]$ sudo tune2fs -l /dev/sdb1 | grep -i acl Default mount options: user_xattr acl
-
Montez le disque avec la prise en charge d'ACL.
Si l'option de montage acl n'est pas activée par défaut sur le système de fichiers, transmettez
-o acl
lors de l'utilisation de la commandemount
. Etant donné que/dev/sdb1
utiliseext4
, cette option est déjà activée par défaut.sudo mount -t ext4 /dev/sdb1 /test
Pour rendre ce point de montage persistant après les réinitialisations, ajoutez-le au fichier fstab.
MYUUID=$(sudo blkid | grep UUID= | grep sdb1 | awk '{ print $2 }') echo "$MYUUID /test ext4 defaults 0 0" | sudo tee -a /etc/fstab > /dev/null
-
Vérifiez que le montage du système de fichiers existe.
df -T | grep sdb1
La sortie indique que le système de fichiers ext4
/dev/sdb1
existe au point de montage/test
.
Utiliser la fonctionnalité ACL
-
Essayez de créer un fichier sous le nouveau point de montage.
touch /test/file1
Exemple de sortie :
touch: cannot touch '/test/file1': Permission denied
La commande échoue car l'utilisateur
oracle
n'est pas autorisé à créer des fichiers dans le répertoire/test
. -
Obtenir les informations ACL du répertoire.
sudo getfacl /test
Exemple de sortie :
[oracle@ol-node01 ~]$ sudo getfacl /test getfacl: Removing leading '/' from absolute path names # file: test # owner: root # group: root user::rwx group::r-x other::r-x
-
Ajoutez une règle d'ACL au répertoire.
sudo setfacl -m u:oracle:rwx /test
La règle octroie les droits d'accès read, write et execute à l'utilisateur
oracle
. -
Vérifiez les informations ACL mises à jour du répertoire.
sudo getfacl /test
Exemple de sortie :
getfacl: Removing leading '/' from absolute path names # file: test # owner: root # group: root user::rwx user:oracle:rwx group::r-x mask::rwx other::r-x
La sortie affiche la nouvelle ligne
user:oracle:rwx
ajoutée. -
Affiche le format de liste long du répertoire uniquement.
ls -ld /test
Exemple de sortie :
drwxrwxr-x+ 3 root root 4096 Jul 13 20:48 /test
Les autorisations affichées dans la sortie incluent un signe plus (
+
) indiquant l'inclusion d'une ACL. -
Essayez de créer à nouveau le fichier.
touch /test/file1
La commande doit réussir cette fois.
-
Confirmez la création du fichier.
ls -l /test
Consultez les pages man getfacl
ou man setfacl
pour obtenir des options et des exemples supplémentaires.
Pour plus d'informations
Voir d'autres ressources connexes :
Ressources de formation supplémentaires
Explorez d'autres ateliers sur docs.oracle.com/learn ou accédez à davantage de contenu de formation gratuit sur le canal Oracle Learning YouTube. En outre, accédez à education.oracle.com/learning-explorer pour devenir explorateur Oracle Learning.
Pour consulter la documentation du produit, consultez Oracle Help Center.
Use and Enable ACLs on Oracle Linux
F60349-01
July 2022
Copyright © 2022, Oracle and/or its affiliates.