As variáveis de ambiente de um ambiente modificado podem ser acessadas externamente?

2

Ok, então eu tenho um código que consiste em dois processos: (a) um processo pai / iniciador, (b) um processo filho. (a) tem uma senha que precisa passar com segurança para (b). Por razões que não vou entrar aqui, não posso passar a senha abrindo um tubo entre os dois. Estou pensando em (a) criar um ambiente modificado para (b) (usando o argumento env aqui , FWIW) que contém uma variável de ambiente de senha. Minha esperança é que essa variável de ambiente com a senha não seja acessível fora do contexto do processo (b). Isso está correto?

Idealmente, eu preciso que isso seja seguro em sistemas Linux e Unix.

    
por augray 27.07.2017 / 02:05

1 resposta

6

My hope os that this environment variable with the password will not be accessible outside the context of process (b). Is that correct?

Não, você não deve confiar nisso. Por exemplo, no Linux, um processo executado pelo mesmo usuário pode ter acesso ao seu ambiente por meio de /proc/<pid>/environ

Tente:

tr '
tr '%pre%' '\n' < /proc/$$/environ
' '\n' < /proc/$$/environ

(ou com o PID de qualquer um dos seus processos)

    
por 27.07.2017 / 03:02