2
我從平二進制刪除setuid位,並添加cap_net_raw+p
改爲如下:
$ chmod 755 /bin/ping
$ setcap cap_net_raw+p /bin/ping
然後我在一個終端跑ping
和檢查/從另一個正在運行的進程的PROC/$ PID /狀態:
$ ps aux | grep ping
user 5468 0.0 0.0 14948 1792 pts/20 S+ 11:14 0:00 ping www.google.com
user 5471 0.0 0.0 14224 896 pts/2 S+ 11:14 0:00 grep --color=auto ping
$ cat /proc/5468/status | grep Cap
CapInh: 0000000000000000
CapPrm: 0000000000002000
CapEff: 0000000000000000
CapBnd: 0000003fffffffff
CapAmb: 0000000000000000
如果ping
正在運行爲什麼CapEff: 0000000000000000
? cap_net_raw
不應該在有效集合中嗎?/proc/$ PID/status是否不能反映線程的當前的狀態?
好問題,很好的答案。做得好! – hek2mgl