2009-02-09 10 views
9

Abbiamo due utenti:Come si imposta una directory per disporre di permessi di gruppo persistenti?

  • user1
  • user2

Entrambi appartengono al gruppo 'admin'.

Abbiamo una directory che è stata impostata su 775. Il gruppo della directory è stato modificato in "admin". Ogni utente ha pieno accesso alla scrittura in quella directory, sebbene quando un utente scrive un nuovo file nella directory, le autorizzazioni di gruppo della cartella non vengono mantenute nel file che è stato scritto.

Come dovremmo fare in modo che i file ereditino le autorizzazioni del gruppo della directory?

Precisazione: quando si scrive un nuovo file o una nuova directory, utilizza il gruppo di utenti come gruppo del nuovo file, piuttosto che quello della directory, che ha senso - ma come faccio a non farlo accadere?

risposta

9

È possibile propagare le autorizzazioni di gruppo impostando il bit setgid della directory (chmod g+s). Potrebbe non essere portabile tra tutti i * nix e tutti i file system.

http://en.wikipedia.org/wiki/Setuid#setgid_on_directories

http://www.gnu.org/software/coreutils/manual/html_node/Directory-Setuid-and-Setgid.html

+0

Perfetto, grazie! –

+1

Si noti che questo è il comportamento conforme a SYSV che è possibile modificare usando + s su dirs. Il comportamento BSD è sempre stato quello di avere un'eredità di gruppo. – Keltia

+0

È portatile su sistemi conformi a POSIX, che (almeno per questo scopo) significa tutto ciò che termina in X (Unix, Linux, MacOS X). –

1

Penso che dovresti cercare here.

Come dice il sito, "Unix non supporta l'idea di autorizzazioni ereditate".

Tuttavia, esiste una sezione sugli ACL (Access Control List), che ritengo sia ciò che stai cercando. Impostando un ACL, puoi ottenere che i tuoi file ereditino lo stesso ACL dalla directory, che credo sia ciò che stai chiedendo. setfacl è il comando shell che sarà ciò di cui hai bisogno per esaminare.

Spero che questo aiuti!

Problemi correlati