如何在 Debian 中为所有用户设置 PATH?

San*_*dra 28 linux debian bash

我有一个 Debian Lenny 服务器,我希望www-data用户/usr/local/zend/bin在它的 PATH 中有一个,这样它就可以在 cron 中以www-data.

如何添加/usr/local/zend/bin到 PATH,以便www-data可以在/usr/local/zend/bin.

Gil*_*il' 45

设置 PATH 的第一个地方是/etc/login.defs. 有一个针对 root 的设置,也有针对其他所有人的设置。

另一个可以定义环境变量的地方是/etc/environment. 这些设置将适用于所有人(您不能在那里编写任意的 shell 代码)。

可以定义环境变量的第三个地方是/etc/profile. 在那里你可以编写任意的 shell 代码。如果您想要特定于用户的设置,则有相应的每个用户文件~www-data/.profile. 但这仅适用于控制台交互式登录;特别是它不适用于 cron 作业,除非它们明确地使用/etc/profile.

如果您只需要PATH在用户 crontab 中进行该设置,则可以将其写在 crontab 的开头。请注意,您需要完整列表 ( PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/zend/bin),您不能使用变量替换(PATH=$PATH:/usr/local/zend/bin在那里不起作用)。


Dav*_*man 8

要为除 root 之外的所有用户设置路径,请编辑/etc/profile/etc/enviroment. 对于 root 用户或单个用户,分别编辑他们的.bashrc.bash_profile其主目录。添加PATH=$PATH:/new/location/.