A exclusão é uma operação de gravação, portanto, é necessário remover o acesso de gravação do diretório que contém o arquivo (usando o arquivo ~/foo/bar.txt
como exemplo):
chmod a-w ~/foo/
ou
chmod 666 ~/foo/
Isso, no entanto, ainda permite que o root exclua o arquivo. Se não quiser permitir isso, as coisas ficam mais complexas. Tanto quanto eu sei , a melhor maneira (e isso é facilmente contornado pela inversão do comando) é configurá-lo para "imutável":
sudo chattr +i ~/foo/bar.txt
Isso impedirá que o root exclua o arquivo, mas ele sempre pode executar chattr -i ~/foo/bar.txt
novamente para desfazê-lo, então é mais um obstáculo do que um bloco inteiro. No entanto, impede que usuários não-raiz o excluam e eles não terão o direito de executar chattr -i
, portanto, essa é a maneira mais fácil, pois não afeta todos os arquivos no diretório.