답변:
ping은 ICMP 패킷을 생성 및 수신해야하며 일반적으로 "raw sockets"(루트 (cap_net_raw)로 제한되는 기능인 시스템의 다른 트래픽을 스니핑하고 방해하기 위해 남용 될 수 있기 때문에 사용되는 기능)를 사용하여 수행됩니다.
많은 배포판에서 이제 전체 setuid 루트 대신 cap_net_raw 권한 ( capabilities(7)
및 getcap(8)
매뉴얼 페이지 참조)을 ping합니다 . 그러나 확장 된 속성 (xattrs)을 지원하려면 커널과 파일 시스템이 모두 필요하며 일부 "최소"시스템에서는이를 비활성화합니다.
또한 최근에는 특별한 "ICMP"소켓 유형 이 추가되어 추가 권한없이 ICMP Echo 메시지 만 보낼 수 있습니다. ping 명령은 아직 업데이트되지 않았습니다.
getfattr --dump --match=.* /sbin/ping
.