沒有發現每當我嘗試運行任何現有的命令/ sbin目錄/用sudouser如「命令使用ifconfig」命令,我得到的錯誤說sudo的命令:ifconfig:命令未找到。須藤:(什麼):在RHEL 5.8
我添加的路徑sbin目錄到PATH
export PATH=$PATH:/sbin
它工作正常,但是當我改變終端或重啓,復位PATH。我如何永久添加PATH變量的路徑?
而且我失去了別的東西嗎?
沒有發現每當我嘗試運行任何現有的命令/ sbin目錄/用sudouser如「命令使用ifconfig」命令,我得到的錯誤說sudo的命令:ifconfig:命令未找到。須藤:(什麼):在RHEL 5.8
我添加的路徑sbin目錄到PATH
export PATH=$PATH:/sbin
它工作正常,但是當我改變終端或重啓,復位PATH。我如何永久添加PATH變量的路徑?
而且我失去了別的東西嗎?
如果您正在使用bash
,你可以追加
export PATH=$PATH:/sbin
您~/.bashrc
到/sbin
添加到您的$PATH
永久。
sudo -l
可用於列出調用用戶允許的命令,這也說明了安全路徑。
sudo -l
給出了這樣的我的Fedora 19系統上:
$ sudo -l
...
secure_path=/sbin\:/bin\:/usr/sbin\:/usr/bin
和sudo printenv PATH
給出了相同的結果:
$ sudo printenv PATH
/sbin:/bin:/usr/sbin:/usr/bin
這secure_path
設置在/etc/sudoers
:
Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin
我sudo
版本:
$ sudo -V
Sudo version 1.8.6p7
Sudoers policy plugin version 1.8.6p7
Sudoers file grammar version 42
Sudoers I/O plugin version 1.8.6p7
命令sudo
下執行不繼承大部分的環境,尤其是你的$PATH
。
要看看有什麼繼承,嘗試運行
sudo printenv
如果要執行的命令,這不是在sudo
的默認$PATH
,你必須在命令來更新$PATH
本身或指定命令的完整路徑名。
您也可以使用-E
通過sudo
傳播您當前的環境,但這並非總是允許的。
另請參閱/etc/sudoers
,可用於配置sudo
和man sudo
的行爲。
sudo -l
也將顯示有用信息,包括你允許執行和對環境的一些(但不是全部)信息哪些命令。
'sudo -l'可以用來列出調用用戶允許的命令。 –
您使用的是哪個外殼? –
@jaypal:它不利於 – Pradeep
@leeduhem:bash shell的 – Pradeep