Como impedir que um arquivo na pasta do usuário seja excluído?

9

Como posso impedir que um arquivo seja excluído pelo usuário, mesmo que esteja na pasta pessoal?

desgua
fonte

Respostas:

13

É possível tornar um arquivo impossível de excluir, mesmo da raiz, em um sistema de arquivos ext2 / 3/4, alterando um atributo do sistema de arquivos:

$ 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
$

Mais informações chattre lsattrpáginas de manual.

Se mais tarde você desejar excluir o arquivo, deverá usar

sudo chattr -i dummy

antes de usar rm.

Existem duas desvantagens nisso:

  1. você precisa ser root para alterar atributos;
  2. você pode esquecer os atributos desse arquivo ou a maneira de alterá-los, para que você não possa mais excluir o arquivo.
enzotib
fonte
Existe uma maneira de usar isso e manter outras permissões? Por exemplo, ainda permitindo permissões de usuário e grupo para rwxsubdiretórios e arquivos.
precisa saber é o seguinte