Linux系统下,普通用户使用ping命令返回ping: icmp open socket: Operation not permitted错误输出,但root用户可以正常使用该命令。
原因分析
ping命令在运行中采用了ICMP协议,需要发送ICMP报文。但是只有root用户才能建立ICMP报文。而正常情况下,ping命令的权限应为-rwsr-xr-x,即带有suid的文件,一旦该权限被修改,则普通用户无法正常使用该命令。
解决办法
使用root用户执行chmod u+s /bin/ping
不错啊