为什么systemd清理环境变量?

时间:2017-06-29 12:47:00

标签: linux systemd

为什么systemd清除子进程的环境变量?

1 个答案:

答案 0 :(得分:2)

此设计可为子进程执行提供更可靠,一致,明确且可能更安全的环境。

考虑这样一种情况:子进程有一个安全漏洞,可以通过设置环境变量来触发,而父进程有一个允许设置该环境变量的缺陷。

正如man systemd.exec中所述,您可以使用Environment=EnvironmentFile=PassEnvironment=来明确管理其他环境变量。

通过环境变量控制流程是“远距离行动”设计的一个示例,其中可变全局状态触发应用中远处的变化。因为声明变量的位置不在它们使用的位置附近,所以存在更多混淆,错误和意外行为的机会。这里更加严谨和明确,降低了相关风险。