Dados confidenciais em scripts de inicialização

3

Estou adaptando alguns exemplos encontrados pelo Google para criar um script de inicialização para executar uma máquina virtual do VirtualBox OSE como um daemon. Eu gostaria de especificar uma senha para o acesso VNC para a VM, e isso deve ser dado como um argumento para o comando VBoxHeadless.

Convencionalmente, os scripts init são legíveis por usuários padrão, e isso parece uma convenção útil, mas eu também não quero que a senha VNC para esta VM seja armazenada em texto simples facilmente acessível.

Qual é a maneira mais apropriada / convencional de lidar com esse tipo de situação? Talvez coloque um arquivo de dados de suporte legível em algum lugar, e o script init carregue o valor de lá?

    
por Steve Jorgensen 03.06.2012 / 23:35

2 respostas

7

Colocar um arquivo legível somente pela raiz em algum lugar no /etc é uma técnica que eu já vi algumas vezes pelo menos no Debian ( dbconfig-common faz isso, por exemplo).

O fornecimento de um arquivo com senhas simples pertencentes ao root soa como uma boa idéia para mim, dado que o init é executado como root e já há muitos arquivos confidenciais em /etc (chaves privadas para certificados sendo um dos eles).

O caminho correto para colocar esse arquivo pode variar de distribuição para distribuição. Eu pessoalmente prefiro, por exemplo, /etc/name-of-init-script/config sobre qualquer outro local, pois /etc é um bom lugar para colocar arquivos de usuário. Lugares como /var/lib devem ser reservados para arquivos gerenciados pelo gerenciador de pacotes da sua distribuição (ou o que quer que eles chamem) e o software instalado para gravar seus dados lá.

    
por 03.06.2012 / 23:55
1

Sim, essa é a maneira correta de fazer isso. Procure em /etc/sysconfig ou /var/lib como locais para colocar esse arquivo.

    
por 03.06.2012 / 23:55