Как предотвратить удаление файла из пользовательской папки?

9

Как я могу сделать невозможным удаление какого-либо файла пользователем, даже если он находится в его / ее домашней папке?

desgua
источник

Ответы:

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. Вы можете забыть об атрибутах этого файла или способе их изменения, так что кажется, что вы больше не можете удалить файл.
enzotib
источник
Есть ли способ использовать это и поддерживать другие разрешения? Например, все еще разрешая пользователю и группе разрешения для rwxподкаталогов и файлов.
Ройдуккей