有时候我们普通用户可以用的命令,用 sudo
加权限之后却报错 command not found:
connect.sh
network-manager: Permission denied
sudo connect.sh
sudo: command not found
原因在于,connect.sh
这个脚本仅存在于该用户的环境变量中:
where connect.sh
/home/fdl/bin/connect.sh
当使用 sudo
时,系统会使用 /etc/sudoers
这个文件中规定的该用户的权限和环境变量,而这个脚本在 /etc/sudoers
环境变量目录中当然是找不到的。
解决方法是使用脚本文件的路径,而不是仅仅通过脚本名称:
sudo /home/fdl/bin/connect.sh