好的,我有一些由两个进程组成的代码:(a)父/启动器进程,(b)子进程。 (a) 有一个密码需要安全地传递给 (b)。由于我不会在这里讨论的原因,我无法通过在两者之间打开管道来传递密码。我正在考虑(a)为(b)创建一个修改过的环境(使用这里的 env 参数,FWIW)包含密码环境变量。我希望这个带有密码的环境变量在进程 (b) 的上下文之外将无法访问。那是对的吗?
理想情况下,我需要确保它在 Linux 和 Unix 系统上都是安全的。
答案1
我希望这个带有密码的环境变量在进程 (b) 的上下文之外无法访问。那是对的吗?
不,你不应该依赖这个。例如,在 Linux 上,同一用户运行的进程可以通过以下方式访问您的环境/proc/<pid>/environ
尝试:
tr '\0' '\n' < /proc/$$/environ
(或者使用任何进程的 PID)