
일반 사용자로 "ps" 목록을 시작할 때 "ping" 프로세스를 볼 수 없는 이유는 무엇입니까?
핑 바이너리에는 setuid 비트가 있습니다.
ls -l /bin/ping
-rwsr-xr-x 1 root root 64424 jun 28 2019 /bin/ping
백그라운드에서 ping을 실행하고,
ping google.com > /dev/null &
[1] 28193
ps를 내 사용자(enn)로 사용하여 이 프로세스를 찾아봐도 찾을 수 없습니다.
ps -ef | grep 28193
그리고 슈퍼유저를 사용하면 찾을 수 있습니다.
sudo ps -ef | grep 28193 | grep -v grep
enn 28193 6878 0 13:49 pts/3 00:00:00 ping google.com
사용메모관련 ID를 인쇄하면 내 {u,e,r}id/{g,e,r}id = 66973, 64000으로 ping 프로세스가 실행되고 있음을 알 수 있습니다.
내가 볼 수 있는 유일한 차이점은수에이드, 0으로 설정
sudo ps -e -o pid,uid,gid,euid,egid,ruid,rgid,suid,sgid,cmd | grep 28193 | grep -v grep
28193 66973 64000 66973 64000 66973 64000 0 64000 ping google.com
그 이유를 이해할 수 없습니다. 일반 사용자로서 프로세스를 볼 수 없는 이유를 이해하도록 누군가 도와줄 수 있습니까?
시스템 메시지: "우분투 18.04.6 LTS"
미리 감사드립니다, 나가님
답변1
여기서는 잘 작동합니다(Fedora 34). 내 Gnome 터미널의 한 탭 ping 8.8.8.8
과 다른 탭에서 실행:
$ pgrep ping
295323
$ ps -ef | grep 295323
user 295323 3772 0 18:50 pts/4 00:00:00 ping 8.8.8.8
user 295628 3726 0 18:53 pts/3 00:00:00 grep --color=auto 295323
PID를 잘못 복사하지 않았습니까? (저도 거의 절반 정도 이런 일을 겪었습니다.) 아직 실행 중입니까 ping
(예: 대상을 찾을 수 없으면 실행이 중지됩니다)?