OSX服务器 – 如何设置networking用户login的环境variables

我的服务器上有一组用户,“开发人员”,我希望每当他们login时为他们设置一个环境variables。

更具体地说,当这个组中的任何人login时,我想要相当于:

setenv ANDROID_SDK_HOME /Developers/Android/User 

在login时设置。 如果需要的话,我可以使用login脚本来做到这一点,但是我所问的是: 可以在configuration文件pipe理器,工作组pipe理器,目录工具等中设置这种types的东西吗?

您可以使用与此解决scheme类似的方法:

https://stackoverflow.com/questions/6059323/setting-user-environment-variable-and-apply-it-to-new-processes

从本质上说,创build一个目录和文件拥有组读取权限的开发人员:

 /etc/profile.d/developers chmod 0660 /etc/profile.d/developers 

编辑

 /etc/profile 

并添加一行这样的:

 source /etc/profile.d/developers 2 &>1 /dev/null 

只有开发人员才有能力读取文件,而非开发人员不会看到他们不能的错误。

你可以在你的/etc/pam.d/common-session中使用“session required pam_env.so …”,但你需要一些逻辑来处理组的东西,可能来自于pam_succeed_if.so。

运行“man pam_env”了解详情。