Nota:

Utilizzare e abilitare le ACL su Oracle Linux

Introduzione

Le liste di controllo dell'accesso (ACL) offrono il controllo dell'accesso a directory e file. Le ACL possono impostare le autorizzazioni di lettura, scrittura ed esecuzione per il proprietario, il gruppo e tutti gli altri utenti del sistema.

Un'ACL è costituita da un set di regole che specificano in che modo un utente o un gruppo specifico può accedere ai file e alle directory abilitati per l'ACL. Una voce ACL normale specifica le informazioni di accesso per un singolo file o directory. Una voce ACL predefinita è impostata solo sulle directory e specifica le informazioni di accesso predefinite per qualsiasi file all'interno della directory che non dispone di un'ACL di accesso.

Quando si imposta una ACL predefinita su una directory, le relative sottodirectory ereditano automaticamente gli stessi diritti. Le ACL possono essere utilizzate con i file system btrfs, ext3, ext4, OCFS2 e XFS, nonché con i file system NFS attivati.

Obiettivi

Requisiti

Un sistema con un disco disponibile e un'installazione di Oracle Linux completamente patch.

Imposta ambiente laboratorio

Nota: quando si utilizza l'ambiente di laboratorio gratuito, vedere Oracle Linux Lab Basics per le connessioni e altre istruzioni d'uso.

  1. Se non è già connesso, aprire un terminale e connettersi tramite ssh all'istanza ol-node01.

    ssh oracle@<ip_address_of_instance>
    
  2. Verificare che i volumi a blocchi esistano.

    sudo lsblk -f
    

    L'output dell'ambiente di laboratorio gratuito mostra due dispositivi a blocchi: sda, che contiene il sistema operativo di base e sdb, utilizzati da questo laboratorio. L'uso dell'opzione -f visualizza il tipo di file system (FSTYPE) e l'identificatore univoco universale dei blocchi (UUID).

Attivazione del file system con supporto ACL

  1. Creare una directory del punto di accesso.

    sudo mkdir /test
    
  2. Verificare che il supporto ACL esista.

    I file system Oracle Linux come ext4, btrfs e xfs abilitano l'opzione di attivazione acl come impostazione predefinita. In un file system ext4, ad esempio /dev/sdb1, verificarlo con tune2fs.

    sudo tune2fs -l /dev/sdb1 | grep -i acl
    

    Output di esempio:

    [oracle@ol-node01 ~]$ sudo tune2fs -l /dev/sdb1 | grep -i acl
    Default mount options:    user_xattr acl
    
  3. Installare il disco con il supporto di ACL.

    Se per impostazione predefinita il file system non dispone dell'opzione di attivazione acl, passare a -o acl quando si utilizza il comando mount. Poiché /dev/sdb1 utilizza ext4, questa opzione è già attiva per impostazione predefinita.

    sudo mount -t ext4 /dev/sdb1 /test
    

    Per rendere persistente questo punto di attivazione tra i reboot, aggiungerlo al file 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. Verificare che il file system sia attivato.

    df -T | grep sdb1
    

    L'output mostra che il file system ext4 /dev/sdb1 esiste al punto di attivazione /test.

Usa funzionalità ACL

  1. Provare a creare un file sotto il nuovo punto di attivazione.

    touch /test/file1
    

    Output di esempio:

    touch: cannot touch '/test/file1': Permission denied
    

    Il comando non riesce perché l'utente oracle non dispone dell'autorizzazione per creare file nella directory /test.

  2. Recuperare le informazioni ACL della directory.

    sudo getfacl /test
    

    Output di esempio:

    [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. Aggiungere una regola ACL alla directory.

    sudo setfacl -m u:oracle:rwx /test
    

    La regola concede l'autorizzazione lettura, scrittura ed esecuzione all'utente oracle.

  4. Controllare le informazioni ACL aggiornate della directory.

    sudo getfacl /test
    

    Output di esempio:

    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
    

    L'output mostra la nuova riga user:oracle:rwx aggiunta.

  5. Mostra il formato elenco lungo solo della directory.

    ls -ld /test
    

    Output di esempio:

    drwxrwxr-x+ 3 root root 4096 Jul 13 20:48 /test
    

    Le autorizzazioni mostrate nell'output includono un segno più (+) che indica l'inclusione di una ACL.

  6. Provare a creare di nuovo il file.

    touch /test/file1
    

    Questa volta il comando dovrebbe essere completato.

  7. Confermare la creazione del file.

    ls -l /test
    

Per ulteriori opzioni ed esempi, vedere le pagine man getfacl o man setfacl.

Per ulteriori informazioni

Vedere altre risorse correlate:

Altre risorse di apprendimento

Esplora altri laboratori su docs.oracle.com/learn o accedi ad altri contenuti per la formazione gratuita sul canale YouTube di Oracle Learning. Inoltre, visitare education.oracle.com/learning-explorer per diventare Oracle Learning Explorer.

Per la documentazione sul prodotto, visitare Oracle Help Center.