Pare a exclusão de arquivos no Linux

0

Estou procurando uma maneira de impedir a exclusão acidental de alguns arquivos importantes no Linux, mas com alguns critérios. O arquivo tem que permanecer gravável (assim, é claro que ele pode ser substituído por dados de lixo, truncados, etc.), e o usuário deve ser capaz de criar novos arquivos no mesmo diretório.

Uma solução ideal teria arquivos recém-criados no diretório pegar os mesmos atributos automaticamente, mas eu poderia contornar isso no software.

A solução está protegendo contra alguém que esteja executando um comando rm com extravio.

    
por asc99c 12.02.2014 / 18:16

1 resposta

1

Para interromper a exclusão acidental , isso pode ser tão fácil quanto criar um alias para " rm " para todos os usuários (por exemplo, colocando isso em '' / etc / profile '' '):

$ alias rm="echo Please don\'t delete any files\!"
$ rm foo
Please don't delete any files! foo

Para impedir que os usuários usem o comando /bin/rm , é possível definir ACLs para esse comando, por exemplo, para permitir que apenas usuários no "staff: group usem /bin/rm :

$ sudo chmod 0700 /bin/rm
$ sudo setfacl -m g:staff:rx

Isso não impedirá a remoção intencional de arquivos. Se o arquivo precisar ser gravável, os usuários podem simplesmente "anular" o arquivo (se não forem proibidos por meio de " chattr -a " ) - o arquivo ainda estará lá, mas é de tamanho zero.

Além disso, os usuários podem usar /bin/unlink para remover o arquivo (se não for proibido pelas ACLs, veja acima) ou compilar sua própria versão de rm ou unlink no total, evitando assim todas as travessuras feitas acima.

Para impedir que os arquivos sejam excluídos, as permissões corretas do Unix ou as ACLs seriam o caminho a seguir.

    
por 12.02.2014 / 21:10