Brzmi to tak, jakbyś opisywał funkcjonalność bitu setgid, gdy gdy katalog, który go ustawił, zmusi wszelkie utworzone w nim nowe pliki, aby ich grupa była ustawiona na tę samą grupę, która jest ustawiona w katalogu nadrzędnym.
Przykład
$ whoami
saml
$ groups
saml wheel wireshark
skonfiguruj katalog z perms + własności
$ sudo mkdir --mode=u+rwx,g+rs,g-w,o-rwx somedir
$ sudo chown saml.apache somedir
$ ll -d somedir/
drwxr-s---. 2 saml apache 4096 Feb 17 20:10 somedir/
dotknij pliku jako saml w tym katalogu
$ whoami
saml
$ touch somedir/afile
$ ll somedir/afile
-rw-rw-r--. 1 saml apache 0 Feb 17 20:11 somedir/afile
To da ci mniej więcej tyle, ile chcesz. Jeśli naprawdę chcesz dokładnie tego, co opisałeś, myślę, że musisz skorzystać z funkcji list kontroli dostępu, aby to uzyskać (ACL).
Jeśli chcesz uzyskać nieco większą kontrolę nad uprawnieniami do plików tworzonych w katalogu, somedir
możesz dodać następującą regułę ACL, aby ustawić domyślne uprawnienia w ten sposób.
przed
$ ll -d somedir
drwxr-s---. 2 saml apache 4096 Feb 17 20:46 somedir
ustawić uprawnienia
$ sudo setfacl -Rdm g:apache:rx somedir
$ ll -d somedir/
drwxr-s---+ 2 saml apache 4096 Feb 17 20:46 somedir/
Zwróć uwagę +
na końcu, co oznacza, że w tym katalogu zastosowano listy ACL.
$ getfacl somedir
# file: somedir
# owner: saml
# group: apache
# flags: -s-
user::rwx
group::r-x
other::---
default:user::rwx
default:group::r-x
default:group:apache:r-x
default:mask::r-x
default:other::---
po
$ touch somedir/afile
$ ll somedir/afile
-rw-r-----+ 1 saml apache 0 Feb 17 21:27 somedir/afile
$
$ getfacl somedir/afile
# file: somedir/afile
# owner: saml
# group: apache
user::rw-
group::r-x #effective:r--
group:apache:r-x #effective:r--
mask::r--
other::---
Zwróć uwagę przy ustawieniu domyślnych uprawnień ( setfacl -Rdm
), aby uprawnienia były r-x
domyślnie ( g:apache:rx
) ( ). Wymusza to r
włączenie nowych bitów tylko dla nowych plików .