据我所知,ping
需要创建一个原始套接字(需要 root 访问权限或cap_net_raw
功能)。
根据我的理解,最近几年的趋势是删除setuid二进制文件并用功能替换它们。
但是,当我查看ping
Fedora 32上的二进制文件时,它看起来没有任何内容:
$ ls -la $(which ping)
-rwxr-xr-x. 1 root root 82960 May 18 10:26 /usr/bin/ping
$ sudo getcap -v $(which ping)
/usr/bin/ping
$
Run Code Online (Sandbox Code Playgroud)
ping 是否需要在 Fedora 上打开原始套接字?还是有另一种方法可以授予它打开原始套接字的权限?