Запретить удаление папки, но разрешить доступ ко всему ее содержимому

Запретить удаление папки, но разрешить доступ ко всему ее содержимому

Я знаю, что для файлов и каталогов есть флаг +i, но у меня более глубокая проблема.

Есть ли способ предотвратить удаление папки пользователем, который должен иметь возможность создавать/получать доступ/удалять файлы и папки?ВНУТРИпапка, защищенная от удаления?

Флаг sudo chattr +i testfolderне поможет, потому что тогда пользователь сможет только читать файлы, но не сможет создавать или удалять их.

Флаг sudo chattr +a testfolderне поможет, поскольку тогда пользователь сможет писать и читать файлы, но только добавлять и редактировать файлы, но не удалять их.

Мне нужно решение, в котором пользователь сможет писать, получать доступиудалить файлы, но не могу удалить корневую/родительскую папку.

решение1

Удаление каталога зависит от прав его родительского каталога, а не от его собственных прав. Если у пользователя есть разрешение на запись в родительский каталог, то каталог можно удалить, в противном случае — нет.

Таким образом, если пользователю не нужно иметь разрешение на создание или удаление каталогов/файлов на том же уровне, где находится защищаемый каталог, то это должно сработать:

chmod 755 /the/parent/dir 

Если некоторым пользователям по-прежнему необходимо разрешить изменять содержимое родительского элемента, то родительский элемент должен принадлежать группе, членами которой являются эти пользователи, и эта группа должна иметь разрешение на запись:

addgroup bigguys
chgrp bigguys /the/parent/dir
chmod 775 /the/parent/dir

Связанный контент