pingが通らない時
pingができなくなるのは、うっかりファイルシステムをコピーした際にcapabilityを落としてしまったことが原因であることもあるらしい。
rsyncやtarでファイルシステムごとコピーする際は、--xattrsを忘れずに。
capabilityの確認。何も付いてない。
capabilityの付与と確認。
そしてping通るようになった。
以下ちょっと実験する際などに役立つコマンド達
capability, xattrの確認コマンド、権限がちゃんと付与されている時
xattrごと削除するコマンド
参考文献
pingが通らない。
$ ping str ping: socket: Address family not supported by protocol $ ping -4 str ping: socket: Operation not permitted
$ sudo getcap /bin/ping
$ sudo setcap cap_net_raw=ep /bin/ping $ sudo getcap /bin/ping /bin/ping = cap_net_raw+ep
"cap_net_raw+ep"が付与された。
$ ping str PING stretch.h.ccmp.jp (192.168.60.3) 56(84) bytes of data. 64 bytes from stretch.h.ccmp.jp (192.168.60.3): icmp_seq=1 ttl=64 time=6.89 ms 64 bytes from stretch.h.ccmp.jp (192.168.60.3): icmp_seq=2 ttl=64 time=3.100 ms 64 bytes from stretch.h.ccmp.jp (192.168.60.3): icmp_seq=3 ttl=64 time=3.53 ms
capability, xattrの確認コマンド、何もない時
# getcap /bin/ping # getfattr -n security.capability /bin/ping /bin/ping: security.capability: No such attribute # sudo getfattr -d /bin/ping # sudo attr -l /bin/ping
# getcap /bin/ping /bin/ping = cap_net_raw+ep # attr -l /bin/ping Attribute "capability" has a 20 byte value for /bin/ping # getfattr -n security.capability /bin/ping getfattr: Removing leading '/' from absolute path names # file: bin/ping security.capability=0sAQAAAgAgAAAAAAAAAAAAAAAAAAA=
# setfattr -x security.capability /bin/ping
Comments