Eu recomendaria deixar o código no lugar. Eu sei que parece bobo até mesmo sugerir isso, mas o fato de que seu /dev/urandom
desapareceu é definitivamente estranho, e isso pode acontecer novamente. Modifique seu código para emitir mensagens de log que você não pode ignorar se precisar recriar arquivos de dispositivos no futuro.
Não há boas razões para o /dev/urandom
ser excluído. O melhor que se poderia esperar seria uma ferramenta como puppet
ou chef
sendo configurada para gravar um diretório de arquivos de um tarball e primeiro limpando o diretório inteiramente como parte da expansão do tarball. (Eu consideraria tal uso um sério erro de configuração da ferramenta.) Mas qualquer processo executado como root
terá os privilégios para remover o arquivo, então pode ser quase qualquer coisa.
Você pode configurar auditd
para assistir a criações de arquivos, exclusões e renomeações no diretório /dev/
. Coloque as regras em /etc/audit/audit.rules
para configurar os relógios persistentes:
-w /dev/ -p wa
Veja o auditctl(8)
para detalhes completos sobre como configurar as listas de observação de auditoria; é bastante configurável e pode ser necessário ajustar a configuração ao seu sistema para que os eventos "padrão" não sobrecarreguem seus registros de auditoria.
Outra opção é definir o atributo immutable
no arquivo usando o programa chattr(1)
. É possível que qualquer programa ou ferramenta que possa ter removido o arquivo possa não ter o objetivo de remover o atributo immutable
antes de excluir arquivos.