sudo找不到命令:修改sudo的PATH路徑
sudo的坑,給錯裝軟件在root用戶的朋友們
sudo有時候會出現(xiàn)找不到命令,而明明PATH路徑下包含該命令,讓人疑惑。其實出現(xiàn)這種情況的原因,主要是因為當(dāng) sudo以管理權(quán)限執(zhí)行命令的時候,linux將PATH環(huán)境變量進行了重置,當(dāng)然這主要是因為系統(tǒng)安全的考慮,但卻使得sudo搜索的路徑不是我們想要的PATH變量的路徑,當(dāng)然就找不到我們想要的命令了。兩種方法解決該問題:
首先,都要打開sudo的配置文件:sudo visudo
1.可以使用 secure_path 指令修改 sudoers 中默認(rèn)的 PATH為你想要的路徑。這個指令指定當(dāng)用戶執(zhí)行 sudo 命令時在什么地方尋找二進制代碼和命令。這個選項的目的顯然是要限制用戶運行 sudo 命令的范圍,這是一種好做法。
2.將Defaults envreset改成Defaults !envreset取消掉對PATH變量的重置,然后在.bashrc中最后添加alias sudo='sudo env PATH=$PATH',這樣sudo執(zhí)行命令時所搜尋的路徑就是系統(tǒng)的PATH變量中的路徑,如想添加其他變量也是類似。
參考:充分發(fā)揮 sudo 的作用http://www.ibm.com/developerworks/cn/aix/library/au-sudo/index.html