环境变量的安全性如何

环境变量的安全性如何

假设我export FOO=var在一个外壳中。

其他人(root 或其他人)需要什么才能检测到该变量的键已被设置,甚至可能了解它的值?

答案1

root 可以真正读取所有进程的内存。他们根本不需要付出任何努力;他们可以停止设置该变量的进程(在您的情况下是您的 shell),然后执行 libc 函数来获取变量的值,或者直接读取内存*envp本身。

你字面上不能对 root 保密,只要您的软件可以访问该秘密即可。这实际上是通过硬件设计实现的。

在 unixoid 上,其他人通常不应该读取您的进程之一的环境。可以在更旧版本的非 Linux UNIXoid 上访问这些内容,但我认为您不关心 1990 年代的 AIX?

相关内容