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

9

Como posso tornar algum arquivo impossível de ser excluído pelo usuário, mesmo se ele estiver sob sua pasta pessoal?

    
por desgua 05.04.2011 / 03:22

1 resposta

13

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

$ 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 sobre as páginas de manual chattr e lsattr .

Se mais tarde você quiser excluir o arquivo, use

sudo chattr -i dummy

antes de usar rm .

Existem dois inconvenientes:

  1. você tem que ser raiz para mudar atributos;
  2. você pode esquecer os atributos desse arquivo ou a maneira de alterá-los, para parecer que não é mais possível excluir o arquivo.
por enzotib 05.04.2011 / 04:07