Como criar um arquivo que nem o usuário root pode excluí-lo?
Como criar um arquivo que nem o usuário root pode excluí-lo?
Respostas:
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}), que torna um arquivo inalterável, mas o root pode apenas desarmar o atributo e excluir o arquivo de qualquer maneira.
Mais complexo (e solução hackish feia): coloque o diretório que você deseja inalterá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 o material remoto, colocar a cópia no lugar e alterar isso.
Você não pode impedir que o root exclua seus arquivos. Se você não pode confiar na sua raiz para manter os arquivos intactos, você está tendo um problema social, não técnico.
mv
consegue?" (que é uma piada coxo baseado em teosofia cristã, e uma piada terrível se você não estiver familiarizado com o campo)
Coloque em um CD-ROM! ;)
(isso deve ser um comentário, mas não posso fazer comentários ...)
Há muito tempo, escrevi um patch do kernel (para 2.2.ancient) em que a tentativa de excluir um arquivo chamado SELFDESTRUCT interrompeu o processo de chamada. Isso é protegido contra "rm -rf *" acidental.
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 excluir o arquivo, mas também pode desfazer qualquer outra tentativa de bloquear o acesso listado aqui.
Eu diria que o chattr é a maneira correta do Unix de fazer isso.