ACL POSIX e bit 'appiccicoso' applicato a una directory
Domanda
POSIX.1e stava per definire ACL ( Access Control List ) meccanismi per POSIX (tra le altre questioni relative alla sicurezza), ma le proposte non sono mai state convertite in formali standard. Tuttavia, gli ACL (non necessariamente POSIX.1e ACL) sono supportati almeno facoltativamente in tutte le principali varianti di Unix ( Linux , BSD , MacOS X (ACL) , HP-UX , AIX (p107ff), Solaris ). Un dettaglio di cui non ho ancora notato la discussione è il modo in cui gli ACL sui file interagiscono con il bit appiccicoso in una directory.
Con una directory normale (nessun ACL in giro per confondere il problema), le autorizzazioni possono essere impostate su, ad esempio, 1777 (trovata su / tmp, per esempio).
drwxrwxrwt 16 root sys 4819 May 4 12:09 /tmp
Il bit appiccicoso è indicato dalla 't' nell'ultima posizione delle autorizzazioni. Significa che un utente può eliminare un file dalla directory solo se l'utente può scrivere nel file. Questo ha senso; se l'utente può scrivere sul file, il contenuto del file può essere distrutto.
La mia domanda è:
- Supponiamo che le autorizzazioni generali (non ACL) della directory / tmp siano quelle illustrate sopra.
- Supponiamo inoltre che un utente paranoico, "trembler", imposta le autorizzazioni non ACL su un file
/ tmp / secret
su 600 (utente 'trembler', gruppo 'preoccupato'). - Supponiamo che 'trembler' conceda 'rw' l'accesso a / tmp / secret a un altro utente, 'blase' tramite un ACL che cita 'blase' specificamente.
- Può 'cancellare' il file
/tmp/secret
Se si tiene conto dell'ACL, la risposta dovrebbe essere "sì"; se l'ACL viene ignorato, la risposta sarebbe "no". Supponendo che gli ACL siano abilitati sul relativo file system, il comportamento è uniforme in tutte le varianti di Unix?
Soluzione
Supponendo che gli ACL siano abilitati sul relativo file system, il comportamento è uniforme in tutte le varianti di Unix?
Poiché gli ACL non sono implementati in modo uniforme tra le varianti Unix, mi aspetto che il comportamento possa differire tra le varianti Unix, ma non è necessario. A meno che tutti gli Unices implementino lo stesso modo (standard) di ACL, non c'è modo di IMHO di garantire un comportamento uniforme in tutte le varianti di Unix.