1

У меня есть папка my_folder которая содержит файлы и папки

my_folder
|-- my_sub_folder
|   |-- my_file_1.txt
|
|-- my_file_2.txt
|-- my_sub_folder_2
|   |-- my_file_2.txt

Я хочу установить разрешения, чтобы пользователь мог добавлять / изменять файлы и каталоги в my_folder но не мог ничего удалить в нем. Это своего рода права только на запись.

Возможно ли это сделать?

1 ответ1

0

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

От man chmod:

Липкий бит предотвращает удаление или переименование файла в каталоге непривилегированным пользователям, если они не владеют файлом или каталогом; это называется флагом ограниченного удаления для каталога и обычно встречается в каталогах, доступных для записи во всем мире, таких как /tmp.

Например, от имени пользователя root:

# cd my_folder
# find . -type d | xargs chmod 1777 

Разрешение на залипание битов отображается как t в выводе ls :

# ls -ld my_folder
drwxrwxrwt 4 root root 4096 2014-12-01 18:52 my_folder

Теперь как обычный пользователь:

$ cd my_folder
$ echo foo > user_file     # ok
$ rm user_file             # ok
$ rm  -f my_sub_folder/my_file_1.txt
rm: cannot remove `my_sub_folder/my_file_1.txt': Operation not permitted

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