"/usr/bin/ping"은 기본 Fedora bash 색 구성표에서 노란색-빨간색으로 표시됩니다. 이는 무엇을 의미합니까?

"/usr/bin/ping"은 기본 Fedora bash 색 구성표에서 노란색-빨간색으로 표시됩니다. 이는 무엇을 의미합니까?

디렉토리를 나열할 때 빨간색 바탕에 노란색으로 표시되는 /usr/bin것을 볼 수 있습니다 .ping

핑이 빨간색 바탕에 노란색으로 표시됨

파일에는 특별한 기능이 없습니다.

$ file /usr/bin/ping
/usr/bin/ping: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV),
dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for
GNU/Linux 2.6.32, BuildID[sha1]=2508ea2a85b70c68967b3e6345541430f5317d5f,
stripped

$ stat /usr/bin/ping
   File: '/usr/bin/ping'
   Size: 62096           Blocks: 136        IO Block: 4096   regular file
Device: 802h/2050d      Inode: 4457229     Links: 1
Access: (0755/-rwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Context: system_u:object_r:ping_exec_t:s0
Access: 2016-11-01 10:02:57.332925719 +0100
Modify: 2016-06-22 14:01:14.000000000 +0200
Change: 2016-07-10 23:41:59.623796126 +0200
Birth: -

에 따르면터미널의 다양한 색상은 무엇을 의미하나요?, 색상 해석을 나열하는 스크립트를 찾을 수 있습니다. "빨간색 바탕에 노란색"은 "ca"를 의미합니다.

Fedora 기본 bash 색상 구성표에 표시된 색상

"ca"은(는) 무슨 뜻인가요? 어쩌면 이 파일이 다른 곳에서 하드링크되었다는 의미일 수도 있습니다( 동일한 파일임) /usr/bin/ping./usr/ping

PS 시청 중 발생한 질문입니다.더러운 COW를 설명여기서 pingUbuntu의 명령은 setuid 루트로 표시되는데 이상하게 들립니다.

setuid 루트 핑

답변1

이는 ping추가 기능이 있음을 나타냅니다.

$ getcap /usr/bin/ping
/usr/bin/ping = cap_net_raw+ep

또는 심지어 (Fedora에서는 최대 30까지):

$ getcap /usr/bin/ping
/usr/bin/ping = cap_net_admin,cap_net_raw+ep

이를 통해 ping.NET으로 실행하지 않고도 원시 소켓을 열고 ICMP 패킷을 보내고 받을 수 있습니다 root.setcap(8)그리고capabilities(7)자세한 내용을 알려주세요.

역사적으로 ping다음과 같이 실행되도록 setuid가 설치되었습니다.root 원시 소켓으로 실행되고 사용할 수 . 기능을 사용할 수 있게 되면 많은 배포판에서는 권한에 대해 제공하는 보다 세밀한 제어가 바람직해 보이기 때문에 대신 해당 기능을 사용하도록 전환했습니다. 그런데 우분투에서는설치 프로그램에 문제가 있는 것 같습니다., ping여전히 setuid가 설치되어 있습니다.root (기능 코드는 다음에서 비활성화됩니다).관련 관리자 스크립트, 이는 Debian에서 유래되었습니다.ping 구성된 Debian에서 제공됩니다.기능 사용가능하다면).

그만큼ping 페이지요구사항을 설명합니다.따라서:

ping실행하려면 기능이 필요합니다 CAP_NET_RAW. 1) 프로그램이 에코가 아닌 쿼리에 사용되는 경우( -N옵션 참조), 2) 커널이 원시가 아닌 ICMP 소켓을 지원하지 않는 경우, 또는 3) 사용자가 ICMP 에코를 생성하는 것이 허용되지 않는 경우 소켓. 이 프로그램은 set-uid 루트로 사용될 수 있습니다.

커널 2.6.39 이상은 다음을 제공합니다.프로그램이 ICMP 에코 메시지를 보내고 받을 수 있도록 하는 또 다른 메커니즘:net.ipv4.ping_group_range. 이는 Fedora 31 이상에서 사용됩니다.ping 추가 기능 없이(특히 루트 없는 컨테이너 내부에서) 작업할 수 있도록 사용됩니다. 보다setuid 및 기능 없이 Fedora에서 ping은 어떻게 작동합니까?자세한 내용은.

관련 정보