0 是否可以限制用户更改某些环境变量集? 我有一个脚本,可将PATH设置为指向某些软件的特定版本,并将用户置于新的bash会话中。我想知道是否有可能在那次bash会话中使PATH(以及少数其他变量)保持不变,如果他们想开始更改会影响软件运行方式的环境部分,则迫使它们退出。 shell environment-variables — 安德鲁·伍德 source
3 这将做您想要的: readonly PATH — 亚历克斯·豪威尔 source 2 我不确定这是否有帮助。用户总是可以再次重新执行bash。或运行另一个外壳。或者...也许chroot环境会更好。 — maxelost 同意,如果未正确设置PATH,那么用户可以绕开限制-它的重要性取决于确切的用例。就像您说的那样,值得研究chroot,将shell设置为rbash(“ bash -r”)以限制用户可以执行的操作也值得研究。 — Alex Howell 在这种情况下,这只是避免错误的额外检查。根据用户的指定,他们的PATH指向少数bin / dirs(而LD_LIBRARY_PATH指向少数lib / dirs等)。我试图减少这样的机会:在他们运行我的脚本以“使用环境X”之后,他们做出了一些重要更改,将其从所选的“软件隔离区”中删除了。 — Andrew Wood