我正在使用Linux Mint 17.1-mate。出于某种奇怪的原因,ping
命令要求我运行sudo
权限。我有一个使用ping
的Python脚本,以查看我的AP是否已启动并运行,但我想以常规用户权限运行此脚本。
我知道你可以编辑visudo
文件,但这只会让它不要求输入密码;我希望它根本不要求sudo
。有没有办法实现这个目标?
这是我用来ping AP的一段代码:
p = Popen(shlex.split('ping -c 1 %s' % self._ap_host), stdout=PIPE, stderr=PIPE)
p.communicate()
res = p.returncode
答案 0 :(得分:0)
在终端中进行手动ping时,是否存在同样的问题?你有安装selinux吗?然后检查一下:http://www.engardelinux.org/forums/viewtopic.php?f=6&t=225因为SELinux可以(实际上这是一件好事)需要适当的授权。
如果没有,我会检查防火墙(sudo iptables -L),例如也拒绝向某些用户提供ICMP。
答案 1 :(得分:0)
好的,问题解决了!
朋友给了我答案。为了让所有用户以root身份运行ping命令,只需确保命令/ bin / ping是root权限。然后运行
sudo chmod +s /bin/ping
。