Posso impedir que um arquivo seja criado?

7

Temos uma máquina que executa o VMware Server. Ele cria constantemente um arquivo chamado not_configured in /etc/vmware/ , que de alguma forma torna nossas máquinas virtuais não pode ser iniciado .

Gostaria de saber se havia alguma maneira confiável de evitar que esse arquivo fosse criado em primeiro lugar.

O arquivo em si não contém nada, então não quero criar e proteger contra gravação. Não deveria estar lá em primeiro lugar.

    
por slhck 27.11.2011 / 11:21

5 respostas

4

Você pode tornar o diretório somente leitura de alguma forma: com permissões unix ( chmod a-w ) ou com medidas mais rigorosas, como montar um sistema de arquivos somente leitura naquele ponto. Eu não acho que o Linux oferece uma maneira embutida de impedir que um único arquivo seja criado, sem tornar o diretório somente leitura como um todo. Existe, é claro, a ferramenta multiuso FUSE , mas eu não conheço um sistema de arquivos FUSE existente que permita criar uma lista negra de arquivos dessa maneira. .

Você pode tentar criar um link simbólico pendente, especialmente um apontando para um arquivo inexistente em um diretório somente leitura. Dependendo de como o programa verifica a existência do arquivo e o outro programa tenta criar o arquivo, isso pode ou não funcionar.

Eu recomendaria descobrir qual programa está criando esse arquivo e desativá-lo. Consulte Como determinar qual processo está criando um arquivo?

    
por 27.11.2011 / 20:54
1

Em suma, se você tiver algum produto Vmware que você não tenha desinstalado corretamente, isso criaria um problema que você descreveria.
Siga as instruções em este link , tive sucesso com eles:

Eu tive o mesmo problema, e depois de ter seguido o guia acima, resolveu.

    
por 27.11.2011 / 13:13
1

A única maneira padrão de fazer isso é remover a permissão de gravação do diretório. Isso, obviamente, impedirá que qualquer coisa crie arquivos nesse diretório.

    
por 27.11.2011 / 20:07
1

Não tenho certeza sobre a flexibilidade do VMWare Server nessa área, mas supondo que o diretório / etc / vmware tenha permissão para estar localizado em um sistema de arquivos remoto compartilhado sob NFS ou CIFS, seria uma tarefa fácil usando um SO que suporte o DTrace na lado do servidor de arquivos (Solaris, OpenIndiana, FreeBSD, MacOS / X, ...).

Um simples script destrutivo pode forçar ou simular uma falha em qualquer tentativa de abrir o arquivo not_configured.

    
por 27.11.2011 / 23:34
0

Na verdade, eu já faço isso ... você pode criar um ouvinte em " observador " ou " incron " (eu usaria observador, é recursivo) use esse gatilho de criação, escreva um script, espere 5 segundos (isto é porque todos os tipos de arquivos de somente leitura / tmp podem ser "criados" quando um arquivo é "criado" - que você testa para somente leitura e trava se necessário ) em seguida, no seu script, leia / mova / apague todos os arquivos da pasta que você não gosta.

NB: garanta que seu script esteja sendo inteligente para o paradigma de arquivo / nova tentativa bloqueado.

    
por 30.10.2012 / 08:59