To pytanie jest dobre dla Linuksa acl
. Ponieważ nie podajesz swojego systemu operacyjnego, zakładam, że Linux jest następujący. Oto przykładowa sesja.
Nie znam naprawdę dobrego acl
samouczka, ale możesz zrobić gorzej niż http://www.vanemery.com/Linux/ACL/linux-acl.html
Zauważ, że domyślny acl
zachowuje się jak lokalny umask. Ponieważ przynajmniej w Linuksie umasks są stosowane globalnie, jest to jedyny znany mi sposób uzyskania efektu lokalnego umask. Z jakiegoś powodu jest to mało znana funkcja. Sieć jest zaśmiecona ludźmi pytającymi o lokalne obejście umask, ale prawie nikt nie myśli o użyciu acl
.
Pamiętaj również, że musisz zamontować partycję, w której pracujesz, z acl
obsługą, np.
/dev/mapper/debian-acl /mnt/acl ext3 defaults,acl 0 2
Sesja następuje:
/mnt/acl$ mkdir foo
/mnt/acl$ getfacl foo
# file: foo
# owner: faheem
# group: faheem
user::rwx
group::r-x
other::r-x
Ustaw grupę foo
by staff
i ustaw acl grupy i użytkownika foo
na 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
Ustaw także domyślne wartości acls użytkownika i grupy rwx
. Określa uprawnienia, które dziedziczą pliki i katalogi foo
. Tak więc wszystkie pliki i katalogi utworzone w systemie foo będą miały uprawnienia grupowe 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::---
Teraz utwórz niektóre pliki foo
jako użytkownicy faheem
i john
.
/mnt/acl$ cd foo
/mnt/acl/foo$ touch bar
# switch to user john for this next command.
/mnt/acl/foo$ touch baz
Lista plików. Zauważ, że zarówno pliki będące własnością, jak faheem
i pliki będące własnością, john
są tworzone z uprawnieniami grupowymi 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