Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我在 openssh/telnet 代码中使用以下设置用户环境的代码。
setenv("TEST_ENV", "testing", 1);
但这可以由用户在登录后修改,是否有使其只读环境变量?
不,我不知道有任何方法可以将进程的环境设置为只读。
你知道,我相信,一个进程不能改变它的父环境,并且一个进程有完全的自由来设置它反过来创建的任何进程的初始环境。可能值得更详细地了解您想要做什么,或者您想要阻止程序能够做什么。
一些操作系统在内核中有相当精细的沙盒支持(例如,我知道 OS X 有,但它不会是唯一的),这些可能能够控制对getenv. 但这显然是特定于平台的。
getenv