Це здається, що ви описуєте функціональний біт setgid, коли коли каталог, який його встановив, змусить усі нові файли, створені в ньому, встановити свою групу для тієї самої групи, що встановлена в батьківському каталозі.
Приклад
$ whoami
saml
$ groups
saml wheel wireshark
налаштування каталогу з perms + правами власності
$ 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/
торкніться файлу як saml у цьому режимі
$ whoami
saml
$ touch somedir/afile
$ ll somedir/afile
-rw-rw-r--. 1 saml apache 0 Feb 17 20:11 somedir/afile
Це дасть вам приблизно те, що звучить так, як ви хочете. Якщо ви справді хочете саме того, що ви описали, я думаю, вам доведеться вдатися до функцій списків контролю доступу, щоб отримати це (ACL).
Якщо ви хочете отримати трохи більше контролю над дозволами на файли, які створюються під каталогом somedir
, ви можете додати таке правило ACL, щоб встановити такі права доступу за замовчуванням.
раніше
$ ll -d somedir
drwxr-s---. 2 saml apache 4096 Feb 17 20:46 somedir
встановити дозволи
$ sudo setfacl -Rdm g:apache:rx somedir
$ ll -d somedir/
drwxr-s---+ 2 saml apache 4096 Feb 17 20:46 somedir/
Зауважте +
наприкінці, це означає, що до цього каталогу до нього застосовано 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::---
після
$ 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::---
Зверніть увагу на встановлені типовими дозволами ( setfacl -Rdm
), щоб дозволи були ( r-x
) за замовчуванням ( g:apache:rx
). Це змушує будь-які нові файли r
увімкнути лише їх біт.