Como evitar que os usuários excluam arquivos que já estão em uso?

4

Considere este cenário:

O usuário está executando um comando em um arquivo. Este arquivo se torna 'em uso' agora.

$ tail -f somefile.log

Em outro shell, o usuário exclui o arquivo.

$ rm somefile.log

Agora, esse arquivo é "removido". O que significa que o único hardlink para o arquivo inode desapareceu. Se você executar o seguinte comando, ainda poderá ver o arquivo, indicado como 'excluído'.

$ lsof | grep somefile.log

O espaço em disco usado por somefile.log não é liberado até que o usuário interrompa o comando tail neste caso.

A minha pergunta é, é possível impedir que os usuários excluam arquivos que estão em uso no momento da tentativa de exclusão (semelhante ao Windows)? É possível usar o PAM para isso?

    
por Shaakunthala 10.03.2014 / 15:20

2 respostas

0

Não há como "bloquear" arquivos ou impedi-los de modificação de usuários com permissões para isso.

Contanto que o usuário tenha permissões do sistema de arquivos ( write permissões, para ser exato) para excluir um arquivo, elas poderão excluí-lo. Você precisará utilizar usuários e permissões de arquivo para evitar que alguém exclua arquivos.

Especificamente, observarei os seguintes comandos:

chmod
chown
chgrp
adduser
passwd
    
por Ross 10.03.2014 / 15:47
0

No Windows, quando você abre um arquivo, ele é bloqueado por um processo e não pode ser excluído ou editado até que o processo seja liberado, motivo principal para a necessidade de reinicialização após cada atualização nas janelas.

O Linux possui outro mecanismo que permite a exclusão de um arquivo durante sua execução, e você ainda pode usá-lo até que todo o processo que o utiliza termine. Então, aqui está a vantagem quando você atualiza, não há necessidade de reiniciar.

Quando você exclui o arquivo no Linux, ele será excluído quando todas as referências a este arquivo forem excluídas, portanto, se você quiser resolver a exclusão, deverá criar hard-links para esse arquivo ou trabalhar com permissões do usuário neste arquivo. arquivo.

    
por nux 10.03.2014 / 15:53