Linux
如何為 Debian 中的所有使用者設置 PATH?
我有一個 Debian Lenny 伺服器,我希望
www-data
使用者/usr/local/zend/bin
在它的 PATH 中,所以它可以在 cron 中執行一個腳本作為www-data
.如何添加
/usr/local/zend/bin
到 PATH,所以www-data
可以在 中執行文件/usr/local/zend/bin
?
設置 PATH 的第一個位置是
/etc/login.defs
. 有一個針對 root 的設置和一個針對其他所有人的設置。另一個可以定義環境變數的地方是
/etc/environment
. 這些設置將適用於所有人(你不能在那裡編寫任意的 shell 程式碼)。可以定義環境變數的第三個地方是
/etc/profile
. 在那裡你可以編寫任意的 shell 程式碼。如果您需要特定於使用者的設置,則有相應的 per-user file~www-data/.profile
。但這僅適用於控制台互動式登錄;特別是它不適用於 cron 作業,除非它們明確 source/etc/profile
。如果您只需要
PATH
在使用者 crontab 中進行該設置,則可以將其寫在 crontab 的開頭。請注意,您需要完整列表 (PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/zend/bin
),不能使用變數替換 (PATH=$PATH:/usr/local/zend/bin
在那裡不起作用)。