普通用戶執行需要root權限的命令,提示“找不到命令”,但是root用戶執行該命令不報錯,可能是由於該命令未處在sudo搜索的路徑。
本文以sudo easy_install 為例,給出的提示為:
sudo:easy_install:找不到命令
工具/原料
Linux系統
方法/步驟
用非root用戶登錄,輸入 sudo which easy_install,提示為:
which: no easy_install in (/sbin:/bin:/usr/sbin:/usr/bin)
可知此時查找命令的路徑為“/sbin:/bin:/usr/sbin:/usr/bin“
切換到root用戶,輸入which easy_install,提示為: /usr/local/bin/easy_install。可知該命令位於上述路徑,果真沒有位於步驟一中查找的路徑。
接下來就需要將步驟二的命令在步驟一的任何一個路徑中做一個軟鏈接。
用root用戶登錄,輸入sudo ln -s /usr/local/bin/easy_install /usr/bin/easy_install。
查看鏈接是否成功創建。輸入 ll /usr/bin/easy_install。
輸出lrwxrwxrwx. 1 root root 27 10月 12 20:59 /usr/bin/easy_install -> /usr/local/bin/easy_install。
可知鏈接已經成功創建。
再用非root用戶執行sudo easy_install pip,可看到命令已經可以執行了。
注意事項
非root執行sudo+【命令】時,需要確認【命令】確實存在。即root下執行該命令不報錯。
執行sudo的普通用戶需要在/etc/sudoers文件中配置。