Чтобы сделать это с разрешениями, вам понадобится система с поддержкой ACL, аналогичных ACL NFSv4. Например, во FreeBSD, если файловая система смонтирована с флагом nfsv4acls
, вы можете сделать:
mkdir testdir
chown manager:worker-group testdir
chmod 775 testdir
setfacl -m group@:D::deny testdir
Чтобы явно запретить разрешение delete_child
членам группа рабочих
группа.
Однако обратите внимание, что, поскольку рабочие будут владельцами файлов, которые они создают, они все равно смогут изменять списки управления доступом к ним, и, предоставляя себе разрешение на удаление
, это будет иметь приоритет над delete_child
разрешение родительского каталога, и я не уверен, что есть способ обойти это (по крайней мере, в файловых системах UFS на FreeBSD). Например, они могли сделать:
$ touch file
$ rm -f file
rm: file: Operation not permitted
$ setfacl -m owner@:d::allow file
$ rm -f file
$