Remarque :

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

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.

  1. 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>
    
  2. 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 et sdb, 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

  1. Créez un répertoire de point de montage.

    sudo mkdir /test
    
  2. Vérifiez que la prise en charge des ACL existe.

    Les systèmes de fichiers Oracle Linux tels que ext4, btrfs et xfs activent l'option de montage acl par défaut. Sur un système de fichiers ext4 tel que /dev/sdb1, vérifiez-le avec tune2fs.

    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
    
  3. 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 commande mount. Etant donné que /dev/sdb1 utilise ext4, 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
    
  4. 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

  1. 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.

  2. 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
    
  3. 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.

  4. 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.

  5. 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.

  6. Essayez de créer à nouveau le fichier.

    touch /test/file1
    

    La commande doit réussir cette fois.

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