sudo找不到命令:修改sudo的PATH路徑


sudo有時候會出現找不到命令,而明明PATH路徑下包含該命令,讓人疑惑。其實出現這種情況的原因,主要是因為當 sudo以管理權限執行命令的時候,linux將PATH環境變量進行了重置,當然這主要是因為系統安全的考慮,但卻使得sudo搜索的路徑不是我們想要的PATH變量的路徑,當然就找不到我們想要的命令了。兩種方法解決該問題:

首先,都要打開sudo的配置文件:sudo visudo

1.可以使用 secure_path 指令修改 sudoers 中默認的 PATH為你想要的路徑。這個指令指定當用戶執行 sudo 命令時在什么地方尋找二進制代碼和命令。這個選項的目的顯然是要限制用戶運行 sudo 命令的范圍,這是一種好做法。

2.將Defaults env_reset改成Defaults !env_reset取消掉對PATH變量的重置,然后在.bashrc中最后添加alias sudo='sudo env PATH=$PATH',這樣sudo執行命令時所搜尋的路徑就是系統的PATH變量中的路徑,如想添加其他變量也是類似。

參考:充分發揮 sudo 的作用 http://www.ibm.com/developerworks/cn/aix/library/au-sudo/index.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM