sor*_*rin 26 ubuntu debian environment-variables
我只想JAVA_HOME为所有用户(包括 root用户)设置一个系统范围的环境变量。
要求:
sor*_*rin 30
对于 Ubuntu 以及其他可能的 *nix 平台,在/etc/profile.dnamed 中添加一个新脚本java.sh,例如:
echo "export JAVA_HOME=/usr/lib/jvm/default-java" > /etc/profile.d/java.sh
Run Code Online (Sandbox Code Playgroud)
排除的其他考虑因素:
/etc/environment- 工作,但使用其他工具更难维护(或者人们会编辑它);和/etc/profile - 相同的缺点 /etc/environment一些人回答说/etc/environmentDebian 已弃用和/或不再使用,这是(在版本 7 中)错误的。
该文件实际上是由 PAM 读取的——特别是pam_env(8),通过envfile标志的默认值。联机帮助页还在 FILES 部分下说明了此默认值。
引用的维基(尤其是语言环境)仅说明基于语言环境的环境变量现在应该在/etc/profile. 他们的声明“(在旧版本的 Debian 中,还有 /etc/environment)”是模糊的,并且是在语言环境的上下文中。
快速搜索/etc/pam.d显示:
root@box:/etc/pam.d# grep pam_env.so *
atd:auth required pam_env.so
cron:session required pam_env.so
cron:session required pam_env.so envfile=/etc/default/locale
login:session required pam_env.so readenv=1
login:session required pam_env.so readenv=1 envfile=/etc/default/locale
sshd:auth required pam_env.so # [1]
sshd:auth required pam_env.so envfile=/etc/default/locale
su:session required pam_env.so readenv=1
su:session required pam_env.so readenv=1 envfile=/etc/default/locale
Run Code Online (Sandbox Code Playgroud)
这些配置行是附加的,由于缺少第一个envfile,因此默认为/etc/environment.
当然,所有这些都依赖于您使用的任何二进制文件(crond、登录 shell 等)是针对 PAM 编译的。
最后,这意味着使用 PAM 的其他系统(例如 RedHat)的行为是相同的,可以在其各自的联机帮助页中看到。
| 归档时间: |
|
| 查看次数: |
43228 次 |
| 最近记录: |