Questo è un argomento piuttosto ampio e un po 'troppo da trattare qui. Mi riferirò alle liste di controllo degli accessi POSIX sul white paper di Linux messe insieme da Andreas Grünbacher dei SuSE Labs. Fa un ottimo lavoro nel trattare l'argomento e scomporlo in modo da capire come funzionano gli ACL.
Il tuo esempio
Ora diamo un'occhiata al tuo esempio e analizzalo.
- gruppo (vendite)
- membri del gruppo di vendita (bob, joe)
Ora suddividiamo le autorizzazioni sul file /home/foo/docs/foo.txt
. Gli ACL incapsulano anche le stesse autorizzazioni che la maggior parte delle persone dovrebbe avere familiarità con Unix, principalmente l'utente, il gruppo e altri bit. Quindi estraiamoli prima.
user:: r--
group::r--
other::---
Questi in genere si presentano così in un ls -l
:
$ ls -l /home/foo/docs/foo.txt
-r--r----- 1 jane executives 24041 Sep 17 15:09 /home/foo/docs/foo.txt
Puoi vedere chi possiede il file e qual è il gruppo con queste righe ACL:
# owner: jane
# group: executives
Quindi ora entriamo nel nocciolo degli ACL:
user:bob:rw-
user:joe:rwx
group:sales:rwx
Questo sta dimostrando che l'utente bob
ha rw
, mentre l'utente joe
ha rwx
. C'è anche un gruppo che ha anche rwx
simili a Joe. Queste autorizzazioni sono come se la colonna utente nel nostro ls -l
output avesse 3 proprietari (jane, bob e joe) e 2 gruppi (dirigenti e vendite). Non c'è distinzione se non che sono ACL.
Infine la mask
linea:
mask::rwx
In questo caso non mascheriamo nulla, è completamente aperto. Quindi se gli utenti bob e joe hanno queste linee:
user:bob:rw-
user:joe:rwx
Quindi quelli sono i loro permessi effettivi. Se la maschera fosse così:
mask::r-x
Quindi le loro autorizzazioni effettive sarebbero così:
user:bob:rw- # effective:r--
user:joe:rwx # effective:r-x
Questo è un potente meccanismo per limitare le autorizzazioni concesse in modo all'ingrosso.
NOTA: il proprietario del file e le altre autorizzazioni non sono interessate dalla maschera dei diritti effettiva; tutte le altre voci sono! Quindi, rispetto alla maschera, le autorizzazioni ACL sono cittadini di seconda classe rispetto alle autorizzazioni Unix tradizionali.
Riferimenti