我在openssh / telnet代码中使用以下代码,该代码设置用户环境。
setenv("TEST_ENV", "testing", 1);
但是这可以在用户登录后进行修改,无论如何都要使其成为只读的env变量吗?
答案 0 :(得分:1)
不,我不知道将进程的环境设置为只读的任何方式。
我相信,您知道某个流程无法更改其父级的环境,并且流程可以完全自由地设置其依次创建的任何流程的初始环境。可能值得更详细地了解您想要做什么,或者您想要阻止程序能够做什么。
某些操作系统在内核中具有相当精细的沙盒支持(例如,我知道OS X有,但它不是唯一的),并且这些可能能够控制对getenv
。但这显然是针对特定平台的。