Protegendo arquivos do rm -rf no diretório gravável

3

Digamos que haja um diretório ~/docs com o proprietário boo e o grupo boo e as permissões rwxr-x--- . Suponha que existem arquivos importantes apple.txt e orange.txt em docs que usuário boo deseja proteger de si mesmo (de exclusão acidental, por exemplo, rm -rf /home/boo/* ), mas não é uma opção para alterar permissões de docs para r-xr-x--- ou mova os arquivos. Quais são as soluções possíveis?

Usuários normais não podem fazer chattr +i apple.txt orange.txt (e isso é somente para Linux, de qualquer forma).

Assim, a única opção que posso conceber seria a primeira chmod 550 apple.txt orange.txt e, em seguida, vincular ln ~/docs/apple.txt ~/docs/orange.txt ~/locked/ os arquivos a um diretório ~/locked/ e chmod 550 /home/boo/locked/ . Isto está certo? Ou existe uma maneira mais simples?

    
por wolf-revo-cats 13.03.2016 / 23:41

1 resposta

4

Você está descartando os métodos normais de prevenção de exclusão, portanto, isso exige uma solução alternativa em que a exclusão seja possível, mas não catastrófica.

Se apple.txt e orange.txt forem links simbólicos, então uma dispersão rm -rf nesse diretório removerá apenas os links simbólicos, não os dados reais, para que os links simbólicos possam ser recriados.

Se, por algum motivo, os arquivos não puderem ser links simbólicos, a opção de amador seria usar um sistema de arquivos FUSE que realiza um conjunto sindical , como funionfs ou unionfs-fuse . Coloque os arquivos importantes em uma ramificação diferente da ramificação principal, de modo que excluí-los apenas os ocultará e não os excluirá do armazenamento subjacente.

Naturalmente, a maneira mais robusta de garantir que os arquivos não sejam perdidos é fazer o backup deles. Se você mantiver um histórico dos arquivos e não apenas a versão mais recente, isso também protege contra sobregravação acidental (por exemplo, >apple.txt em vez de <apple.txt ). O controle de versões (em um repositório com backup!) é a maneira ideal de manter um histórico de versões antigas.

    
por 14.03.2016 / 00:19