Questa domanda è adatta per Linux acl
. Dal momento che non dichiari il tuo sistema operativo, assumerò Linux in quanto segue. Ecco una sessione di esempio.
Non conosco un ottimo acl
tutorial, ma potresti fare di peggio di http://www.vanemery.com/Linux/ACL/linux-acl.html
Si noti che il valore predefinito acl
si comporta come un umask locale. Poiché almeno in Linux, le umask sono applicate a livello globale, questo è l'unico modo che conosco per ottenere l'effetto di una umask locale. Per qualche ragione questa è una caratteristica poco conosciuta. La rete è piena di gente che chiede un override di umask locale, ma quasi nessuno sembra pensare di usarlo acl
.
Si noti inoltre che è necessario montare la partizione in cui si sta lavorando con il acl
supporto, ad es.
/dev/mapper/debian-acl /mnt/acl ext3 defaults,acl 0 2
Segue sessione:
/mnt/acl$ mkdir foo
/mnt/acl$ getfacl foo
# file: foo
# owner: faheem
# group: faheem
user::rwx
group::r-x
other::r-x
Imposta il gruppo di foo
essere staff
e imposta l'acl di gruppo e l'utente di foo
a rwx
.
/mnt/acl$ chgrp staff foo
/mnt/acl$ setfacl -R -m u::rwx,g::rwx foo
/mnt/acl$ getfacl foo
# file: foo
# owner: faheem
# group: staff
user::rwx
group::rwx
other::r-x
Imposta anche acls predefiniti di utente e gruppo rwx
. Questo definisce le autorizzazioni da cui ereditano file e directory foo
. Quindi tutti i file e le directory creati sotto foo avranno autorizzazioni di gruppo rw
.
/mnt/acl$ setfacl -d --set u::rwx,g::rwx,o::- foo
/mnt/acl$ getfacl foo
# file: foo
# owner: faheem
# group: staff
user::rwx
group::rwx
other::r-x
default:user::rwx
default:group::rwx
default:other::---
Ora crea alcuni file foo
come utenti faheem
e john
.
/mnt/acl$ cd foo
/mnt/acl/foo$ touch bar
# switch to user john for this next command.
/mnt/acl/foo$ touch baz
Elenca i file. Si noti che sia i file di proprietà faheem
che i file di proprietà john
sono creati con autorizzazioni di gruppo rw
.
/mnt/acl/foo$ ls -la
total 3
drwxrwxr-x+ 2 faheem staff 1024 May 9 01:22 .
drwxr-xr-x 4 faheem faheem 1024 May 9 01:20 ..
-rw-rw---- 1 faheem faheem 0 May 9 01:20 bar
-rw-rw---- 1 john john 0 May 9 01:22 baz