sudo 命令执行找不到命令
如
sudo scapy
sudo: scapy: command not found
原因
sudo是将用户切换为root
,但是由于root并不是scapy文件的拥有者
,找不到scapy的路径
解决方法
以scapy为例
1.配置sudo的配置文件中的secure_path
#查看scapy的文件路径
which scapy
/home/zzl/.local/bin/scapy
#修改/etc/sudoers
sudo visudo
找到
Defaults secure_path="/usr/local/sbin"
#添加 /home/zzl/.local/bin/ 到 secure_path
Defaults secure_path="/usr/local/sbin:/home/zzl/.local/bin/"
2.或者直接
sudo `which scapy`
3.或者为 scapy路径
加一个软链接
到sudo对应路径
下
sudo ln -s /usr/local/sbin/scapy /home/zzl/.local/bin/scapy
最后成功执行
sudo scapy