
Я знаю, что для файлов и каталогов есть флаг +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