Dê um aviso quando algo estiver prestes a ser apagado (por root)

4

Eu sei que root pode fazer qualquer coisa , mas existe uma maneira de pelo menos alertar o root de que eles estão prestes a deletar uma pasta que talvez não deva ser deletada?

Mantemos um diretório de trabalho em nossa pasta /tmp e, de tempos em tempos, um administrador virá e limpará a pasta /tmp com aproximadamente sudo rm -rf * . Existe uma maneira de dar algo como um prompt ou alerta de que eles estão prestes a excluir uma pasta específica? Algo ao longo das linhas de:

The folder XXXXX is protected from deletion - do you really want to delete this folder? (y/n)

Eu sei, a melhor solução é mover essa pasta para outro lugar (a pasta /tmp é chamada temp por um motivo, afinal!), mas isso tem outros problemas. Daí a minha pergunta.

Fazer esta pergunta me faz pensar, é uma prática ruim excluir cegamente todo o conteúdo da pasta /tmp ? Uma abordagem melhor não é apenas excluir arquivos com mais de uma certa idade?

    
por Rich 01.03.2011 / 14:17

3 respostas

8

Mover sua pasta de trabalho é a solução. Você está certo de que é um pouco perigoso apagar arquivos em /tmp cegamente - normalmente, é feito na inicialização / desligamento do sistema ou usando um programa de exclusão baseado em tempo de acesso (como tmpwatch ). Mas por sua definição, o espaço é volátil e não é razoável esperar o contrário.

Se você realmente quiser evitar isso, o SE Linux pode fazer isso. Você daria ao diretório um rótulo específico e o configuraria para que o root normalmente não tivesse a permissão para desvincular objetos com esse rótulo. Isso parece ser muito mais trabalho do que apenas mover o diretório para uma localização compartilhada melhor - e como ele causa uma mensagem de auditoria do SE Linux em vez do belo prompt "você tem certeza de que está imaginando", parece que acabará por causar confusão frustrante.

    
por 01.03.2011 / 15:29
3

Você pode alterar os atributos de diretório no diretório para serem imutáveis:

# cd /tmp
# mkdir undeletable
# chattr +i undeletable
# rm -rf undeletable/
rm: cannot remove 'undeletable': Operation not permitted

Infelizmente, como o diretório é imutável, você não pode modificá-lo:

# cd undeletable/
# touch foo
touch: cannot touch 'foo': Permission denied

Você pode ter subdiretórios que são mutáveis, mas o rm -rf excluirá os arquivos ainda. Portanto, essa solução só funcionará se você quiser conteúdo somente leitura em / tmp.

Se você precisa ter conteúdo RW em / tmp que não pode ser retirado, por que não basta colocá-lo em outro local mais permanente e criar um link simbólico em / tmp, que pode ser facilmente restaurado. (talvez automaticamente, se ausente?)

    
por 01.03.2011 / 15:45
-3

chmod +t /tmp/perm_file

fonte: link

    
por 01.03.2011 / 15:25