POSIX Access Control Lists Seminario di Sistemi Operativi mod.B Giacomo Basso 566/538
27/01/2005POSIX Access Control Lists2 Argomenti trattati Perché ACL e come funziona. ACL sui più popolari file system Linux. Come ACL influisce sulle prestazioni.
27/01/2005POSIX Access Control Lists3 Il tradizionale modello dei permessi dei sistemi UNIX Ad ogni oggetto del file system sono associati tre insiemi di permessi che definiscono gli accessi per solo tre classi di utenti: owner owning group other Questo schema è implementato usando solo 9 bit per ogni oggetto
27/01/2005POSIX Access Control Lists4 Limiti Solo lamministratore di sistema può creare gruppi ed eventualmente apportare modifiche alla sua composizione. Per consentire a degli utenti normali di effettuare dei tasks che di norma può fare solo lamministratore, occorrono particolari utilities che possono incrementare la complessità del sistema e renderne difficile la manutenzione.
27/01/2005POSIX Access Control Lists5 Come funziona ACL Un ACL consiste di un insieme di entries. Ciascuna delle tre classi utente è rappresentata da una ACL entry. Permessi per utenti o gruppi successivamente aggiunti occupano delle nuove ACL entries.
27/01/2005POSIX Access Control Lists6 ACL minimale Entry typeText form Owneruser::rwx Groupgroup::rwx Othersother::rwx La classe Group contiene solo owning group
27/01/2005POSIX Access Control Lists7 ACL estesa Entry typeText form Owneruser::rwx Named useruser:name:rwx Owning group group::rwx Named groupgroup:name:rwx Maskmask::rwx Othersother::rwx La classe Group adesso contiene 3 entries + una maschera:
27/01/2005POSIX Access Control Lists8 La mask entry La mask entry viene introdotta per conoscere i permessi effettivi delle classi appartenenti a Group. Rappresenta precisamente il massimo delle possibilità che ha un utente appartenente alla classe Group. Per owner e other non si usa la maschera.
27/01/2005POSIX Access Control Lists9
27/01/2005POSIX Access Control Lists10 Entry typeText formPermissions Named useruser:joe:r-xr-x Maskmask::rw-rw- Effective permissions r-- La maschera dei permessi
27/01/2005POSIX Access Control Lists11 Access ACL Definisce i permessi di accesso correnti di un oggetto del file system Default ACL Definisce i permessi che un oggetto del file system eredita dalla directory in cui è stato creato. Solo per directory.
27/01/2005POSIX Access Control Lists12 $ getfacl dir user::rwx group::r-x other::--- $ setfacl -m user:joe:rwx dir $ getfacl dir user::rwx user:joe:rwx group::r-x mask::rwx other::--- $ ls -dl dir drwxrwx agruen suse... dir I comandi ACL $ chmod g-w dir $ ls -dl dir drwxr-x agruen suse... dir $ getfacl dir user::rwx user:joe:rwx #effective:r-x group::r-x mask::r-x other::---
27/01/2005POSIX Access Control Lists13 Implementazione ACL in Linux Non ci sono system calls specifiche per ACL (a differenza di freeBSD e Solaris) ACL implementato mediante Attributi Estesi (EA), ovvero coppie costituite da un nome e un valore associati ad un oggetto del file system (simili alle variabili di ambiente).
27/01/2005POSIX Access Control Lists14 Ext2 e Ext3 Ciascun i-node ha un campo chiamato i_file_acl Questo campo contiene il numero del blocco che contiene gli attributi estesi associati alloggetto di questo i-node Per migliorare lefficienza, i-node con gli stessi attributi estesi possono puntare allo stesso blocco Non è possibile allocare più di un blocco per gli attributi estesi relativi ad un i-node
27/01/2005POSIX Access Control Lists15 JFS Se gli Attributi Estesi sono di piccole dimensioni vengono memorizzate direttamente allinterno delli-node Altrimenti memorizza gli Attributi Estesi di un i-node in un range di blocchi consecutivi. Non cè pertanto la limitazione del singolo blocco per i-node Non è possibile la condivisione dei blocchi
27/01/2005POSIX Access Control Lists16 XFS Piccoli insiemi di Attributi Estesi vengono memorizzati direttamente negli i-node. Insiemi di Attributi Estesi di medie dimensioni vengono memorizzati nei blocchi foglia dei B+-alberi. Insiemi di Attributi Estesi molto grandi vengono memorizzati nei B+-alberi completi.
27/01/2005POSIX Access Control Lists17 Performance di EA e ACL vediamo come vengono influenzati i tempi di accesso ad un oggetto del file system Il seguente test è stato effettuato su un pc configurato nel modo seguente Sistema operativo: SuSE Linux 8.2, con SuSE kernel. Hardware: AMD Athlon processor clocked at 1.1 GHz and 512 MiB of RAM HD 30 GB IBM Ultra ATA 100 hard drive with 7200 RPM, an average seek time of 9.8 ms, and 2 MiB of on-disk cache
27/01/2005POSIX Access Control Lists18 Performance di EA e ACL I tempi ottenuti si riferiscono al primo accesso ad un file dopo il riavvio del sistema. Vengono messi a confronto i tempi di accesso con e senza ACL.
27/01/2005POSIX Access Control Lists19 Performance di EA e ACL Without ACLWith ACL Ext Ext XFS XFS JFS13
27/01/2005POSIX Access Control Lists20 Link di riferimento :