Як я можу запобігти вилученню файлів / папок, але може додавати / змінювати на Linux?


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 але не вдасться нічого видалити. Це свого роду дозволи на запис.

Чи можна це зробити?

Відповіді:


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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.