我有一个从网络接口捕获网络流量的程序。(这是一个 C 程序libpcap
。)
我正在运行 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
,它会因为权限相关的错误而失败。
我错过了一个步骤/设置吗?