RHEL 7 – Note RHCSA (cheat sheet)
Gli elenchi di controllo di accesso ai file (FACL) o semplicemente ACL sono l'elenco di utenti/gruppi aggiuntivi e la loro autorizzazione al file. Sebbene le autorizzazioni predefinite per i file svolgano perfettamente il loro lavoro, non consentono di concedere autorizzazioni a più utenti o gruppi sullo stesso file.
Come sapere quando un file ha un ACL allegato
il comando ls -l produrrebbe un output come mostrato di seguito. Nota il + firmare alla fine dei permessi. Ciò conferma che al file è allegato un ACL.
# ls -l -rw-r--r-+ 1 root root 0 Sep 19 14:41 file
Visualizzazione degli ACL
Per visualizzare i dettagli delle informazioni ACL di un file, utilizzare il comando getfacl. Se vedi attentamente, gli utenti sam e john hanno alcune autorizzazioni extra (mostrate evidenziate). Le autorizzazioni utente/gruppo predefinite vengono specificate utilizzando "user::permission" e "group::
# getfacl /tmp/test # file: test # owner: root # group: root user::rw- user:john:rw- user:sam:rwx group::r-- mask::rwx other:---
Al contrario, se si controllano gli ACL su un file con "nessun ACL", le righe aggiuntive "utente:" e "maschera" non verranno visualizzate e verranno visualizzate le autorizzazioni file standard. :
# getfacl test # file: test # owner: root # group: root user::rw- group::r-- other::r--
Creazione e gestione di FACL
Il comando setfacl viene utilizzato per impostare l'ACL sul file specificato. Per dare un accesso rw all'utente john sul file /tmp/test :
# setfacl -m u:john:rw /tmp/test
L'opzione -m dice a setfacl di modificare gli ACL sui file menzionati nella riga di comando. Invece dell'utente john possiamo avere un gruppo per avere un'autorizzazione specifica sul file :
# setfacl -m g:accounts:rw /tmp/test
È anche possibile impostare FACL per più utenti e gruppi con un singolo comando:
# setfacl -m u:john:rw,g:accounts:rwx /tmp/test
ACL predefiniti
Impostando un ACL predefinito, determinerai le autorizzazioni che verranno impostate per tutti i nuovi elementi creati nella directory. Ma le autorizzazioni dei file e delle sottodirectory esistenti rimangono le stesse.
Per creare una FACL predefinita su una directory:
# setfacl -m default:u:john:rw /accounts
Nota le autorizzazioni predefinite nel comando getfacl :
# getfacl accounts/ # file: accounts/ # owner: root # group: root user::rwx group::r-x other::r-x default:user::rwx default:user:john:rw- default:group::r-x default:mask::rwx default:other::r-x
Rimozione delle FACL
Per rimuovere gli ACL, usa il comando setfacl con l'opzione -x :
# setfacl -x u:john /tmp/test
Il comando precedente rimuove l'ACL per l'utente john nel file /tmp/test. Gli ACL per altri utenti/gruppi, se presenti, rimangono inalterati. Per rimuovere tutti gli ACL associati a un file, utilizzare l'opzione -b con setfacl :
# setfacl -b /tmp/testÈ inoltre possibile creare un backup degli ACL utilizzando getfacl e ripristinare gli ACL utilizzando il comando setfacl. Per creare il backup, usa getfacl -R /dir> file.acls. Per ripristinare le impostazioni dal file di backup, utilizzare setfacl –restore=file.acl