Этого может быть достаточно, чтобы установить липкий бит в каталогах. Пользователи смогут удалять любые принадлежащие им файлы, но не файлы других пользователей. Это может быть достаточно для вашего случая использования. В большинстве систем / tmp настроен таким образом (/ tmp установлен 1777)
chmod 1775 / контролируемый
Однако, если вы хотите больше контроля, вам нужно включить ACL в рассматриваемой файловой системе.
В / etc / fstab добавьте acl к флагам:
/dev/root / ext3 defaults,acl 1 1
Затем вы можете использовать setfacl / getfacl для контроля и просмотра разрешений уровня acl.
Пример: (Создавайте файлы после записи, они предназначены только для чтения, но МОГУТ быть удалены владельцем, но не другими.)
setfacl --set u::rwxs,g::rwx /controlled
setfacl -d --set u::r-x,g::r-x,o::- /controlled
Вы можете установить список acl по умолчанию для каталога, который будет использоваться всеми файлами, созданными в нем.
Как уже отмечали другие, будьте осторожны, чтобы точно указать, что вы хотите. Вы говорите «напишите» - но могут ли пользователи перезаписывать свои собственные файлы? Могут ли они изменить существующий контент или просто добавить? Раз написано, это только для чтения? Возможно, вы можете указать более подробно в комментариях.
Наконец, selinux и grsecurity обеспечивают еще больший контроль, но это совсем другая банка червей. Это может быть довольно сложно настроить.