Como criar um arquivo mesmo usuário root não pode deletá-lo

12

Como criar um arquivo, mesmo o usuário root não pode excluí-lo?

    
por Kumar 27.09.2010 / 14:29

5 respostas

33

Resposta simples: você não pode, o root pode fazer tudo.

Você pode definir o atributo "i" com o chattr (pelo menos se você estiver no ext {2,3,4}), o que torna um arquivo imutável, mas o root pode apenas remover o atributo e excluir o arquivo de qualquer maneira.

Solução alternativa mais complexa (e feia): Coloque o diretório que você deseja imutável para root no servidor remoto e monte-o via NFS ou SMB. Se o servidor não oferecer permissões de gravação que bloqueiem a conta raiz local. É claro que a conta raiz local poderia simplesmente copiar os arquivos localmente, desmontar as coisas remotas, colocar a cópia no lugar e mudar isso.

Você não pode bloquear o root de excluir seus arquivos. Se você não pode confiar em sua raiz para manter os arquivos intactos, você está tendo um problema social, não técnico.

    
por 27.09.2010 / 14:40
33

Coloque em um CD-ROM! ;)

(este deve ser um comentário, mas não posso fazer comentários ...)

    
por 27.09.2010 / 18:32
15

Coloque seu arquivo em um sistema de arquivos readonly. Pode ser um FS remoto em que o root não é mais root, um CD-ROM ou um dispositivo removível que pode ser protegido contra gravação, por exemplo, um cartão SD.

    
por 27.09.2010 / 21:08
2

Há muito tempo escrevi um patch de kernel (para 2.2.ancient) onde a tentativa de excluir um arquivo chamado SELFDESTRUCT eliminou o processo de chamada. Isso protege contra o "rm-rf *" acidental.

    
por 15.02.2011 / 17:13
1

Você pode usar chattr +i para tornar um arquivo imutável.

É claro que um usuário experiente com acesso root ainda pode usar chattr -i para remover o atributo imutável e, em seguida, excluir o arquivo, mas pode desfazer qualquer outra tentativa de bloquear o acesso listado aqui também.

Eu diria que chattr é a maneira correta de fazer isso.

    
por 21.05.2014 / 03:21