All'inizio creo un file e ne controllo le autorizzazioni standard e le voci ACL:
$ touch file; ls -l file; getfacl file
-rw-r--r-- 1 user user 0 Jul 30 16:26 file
# file: file
# owner: user
# group: user
user::rw-
group::r--
other::r--
Quindi ho impostato la maschera ACL sul file e ho verificato nuovamente le autorizzazioni standard e le voci ACL:
$ setfacl -m mask:rwx file
$ ls -l file; getfacl file
-rw-rwxr--+ 1 user user 0 Jul 30 16:26 file
# file: file
# owner: user
# group: user
user::rw-
group::r--
mask::rwx
other::r--
Si noti che insieme all'autorizzazione di gruppo standard maschera ACL anche sul file è cambiato.
- Quale connessione esiste tra la maschera ACL e l'autorizzazione di gruppo standard?
- Qual è la ragione per cui si associano i permessi della maschera ACL e del gruppo di file? Quale logica sta dietro?
Le distribuzioni in questione sono Debian Linux 7.6 e CentOS 7
MODIFICARE
A questo punto volevo solo condividere alcune delle mie scoperte che mi sono venute mentre cercavo le relazioni tra i permessi del gruppo di file standard e la maschera ACL. Ecco le osservazioni empiriche che ho trovato:
La maschera ACL può essere cambiata:
- impostandolo direttamente con
setfacl -m m:<perms>
comando; - modificando le autorizzazioni del gruppo di file con il
chmod
comando (se la maschera ACL è già presente; potrebbe non essere presente perché è facoltativa se sul file non sono presenti autorizzazioni ACL utente o di gruppo denominate); - aggiungendo la voce ACL utente o di gruppo (la maschera verrà ricalcolata automaticamente).
- impostandolo direttamente con
La maschera imporrà i diritti di accesso massimo (se sono presenti voci ACL con autorizzazioni che superano le autorizzazioni maschera ACL) solo se la maschera viene impostata direttamente da setfacl o dalla modifica dell'autorizzazione del gruppo di file con chmod (non calcolata automaticamente). Qualsiasi modifica alle voci ACL attiverà il ricalcolo automatico della maschera ACL e disattiverà efficacemente la "modalità di applicazione".
Esistono un paio di effetti collaterali che incidono implicitamente sulle autorizzazioni del gruppo di file standard quando si utilizzano gli ACL:
- La voce ACL dell'utente o del gruppo denominata applicata a un file può modificare la maschera ACL (aumentarne le autorizzazioni) e quindi le autorizzazioni effettive del gruppo di file. Ad esempio, se tu, come proprietario del file, hai impostato le autorizzazioni "rw-r - r-- jim studenti" e concedi anche l'autorizzazione rw all'utente "jack", concedi implicitamente anche le autorizzazioni rw a chiunque dal gruppo "studenti".
- La maschera ACL più rigorosa (meno autorizzazioni) può rimuovere in modo permanente le autorizzazioni standard corrispondenti per i gruppi di file. Ad esempio, se si dispone di un file con autorizzazioni di gruppo file rw standard e si applica una maschera ACL di sola lettura al file, le autorizzazioni di gruppo diminuiranno in sola lettura. Quindi, se si rimuovono tutte le voci ACL estese (con
setfacl -b
comando), le autorizzazioni di gruppo rimarranno di sola lettura. Questo vale solo per una maschera ACL più rigorosa, una maschera ACL più morbida (più autorizzazioni) non modifica permanentemente l'autorizzazione del gruppo di file originale dopo la sua rimozione.