1

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

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

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

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

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

1 ответ1

3

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

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

chmod 755 /the/parent/dir 

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .