我有一个程序可以捕获网络接口的网络流量。 (这是一个位于libpcap
的C程序。)
我正在运行Fedora 26。
当我以root
运行程序时,事情看起来很棒:
[craig ~]$ sudo su -
[root ~]$ /home/craig/mybinary
(output is as expected)
但是,当我以自己(craig
)运行程序时,它失败了:
[craig ~]$ /home/craig/mybinary
Operation not permitted
[craig ~]$ echo $?
1
我想要的是是运行此程序以“以root身份”运行它的任何用户。我认为我正确地设置了setuid
位和所有者/组:
[root@localhost ~]# chmod 6774 /home/craig/mybinary
[root@localhost ~]# ls -lah /home/craig/mybinary
-rwsrwsr--. 1 root root 1.3M Mar 7 2017 mybinary
但行为没有改变 - 当我将此流程作为craig
运行时,它会因与权限相关的错误而失败。
我错过了一个步骤/设置吗?