Як запобігти видаленню файлу в папці користувача?


9

Як я можу зробити неможливим видалення файлу користувачем, навіть якщо він знаходиться в його домашній папці?

Відповіді:


13

Можна неможливо видалити файл, навіть із кореня, у файловій системі ext2 / 3/4, змінивши атрибут файлової системи:

$ cd
$ touch dummy
$ sudo chattr +i dummy
$ rm dummy
rm: remove write-protected regular empty file `dummy'? y
rm: cannot remove `dummy': Operation not permitted
$ sudo rm dummy
[sudo] password for enzotib: 
rm: cannot remove `dummy': Operation not permitted
$

Більше інформації на сторінках chattrта lsattrінструкціях.

Якщо пізніше ви хочете видалити файл, який ви повинні використовувати

sudo chattr -i dummy

перед використанням rm.

У цьому є два недоліки:

  1. ви повинні мати root, щоб змінити атрибути;
  2. ви можете забути про атрибути цього файлу або про спосіб їх зміни, так що, здається, ви більше не можете видалити файл.

Чи є спосіб використовувати це та підтримувати інші дозволи? Наприклад, все ще дозволяється дозволу користувача та групи для rwxпідкаталогів та файлів.
roydukkey
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.