Digamos que você tenha um programa que deseja executar autônomo, como root, que requer um segredo (como uma frase secreta; algo que você não quer que outras pessoas descubram), que pode ser lido de uma variável de ambiente. Uma maneira de realizar isso seria criar um script como o seguinte e executá-lo a partir do crontab do root.
#!/bin/bash
export SECRET='my_secret'
/usr/bin/some_program
export SECRET=
Ok, posso pensar em dois problemas de segurança aqui.
Primeiro, alguém pode encontrar o valor de $SECRET
lendo o script. Usar chmod 700
deve cuidar disso.
Segundo, alguém pode usar algo como ps ae
enquanto some_program
está em execução. No entanto, se o script estiver sendo executado como root, somente root (ou sudoers) poderá ver seu ambiente, certo?
Estou correto em acreditar que o valor de $SECRET
só pode ser encontrado por root ou sudoers? Existem outros problemas de segurança?
E, para tornar tudo isso um pouco menos abstrato, isso é o que me fez pensar.