环境:suse11

症状:ping 127.0.0.1

提示  socket: Permission denied

解决思路:查看 /bin/ping 权限

-rwsr-xr-x 1 root root 40048 May  5  2010 /bin/ping

权限正常

百思不得其姐。。。。。。


查看日志,发现有audit字样

再查看audit日志,发现以下字段

type=APPARMOR_DENIED msg=audit(1372234129.061:639): operation="socket_create" pid=20248 parent=19061 profile="/bin/ping" family="inet" sock_type="dgram" protocol=0


看上面的红色字段,apparmor

google 结果

apparmor是suse 下类似selinux 的东东

先把apparmor 服务停掉测试下ping

/sbin/rcapparmor stop

ping 127.0.0.1

PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.

64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.028 ms


测试OK,问题就出在apparmor这东东上了,用yast查看novell apparmor 中的/bin/ping 属性,跟其它正常的机子对比,发现少了几个文件 ,

把正常的机子上的/etc/apparmor.d下的bin.ping 复制过来,再查看yast查看novell apparmor 中的/bin/ping 属性,已经跟正常机了一样了,启动apparmor 服务,再测试ping

已经正常。