普通用户执行需要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文件中配置。