the*_*ure 5 linux c root iptables capabilities
我需要从 C Linux 程序内部添加一个 iptables 规则。
我应该怎么做?我需要 root 权限还是可以只授予一些功能?
我尝试授予 CAP_NET_RAW+iep 并使用 popen()、system() 和 execve() 来设置 iptables,但它不起作用。
当我 sudo 但我不想授予 root 权限时,它显然有效。
谢谢你。
您不需要向用户授予 root 权限。您可以编辑 sudoers 文件,并且可以限制用户可以通过 sudo 运行哪些命令。另外,您可以在 sudoers 文件中提供 NOPASSWD 选项。
MY_USER_NAME ALL = NOPASSWD: /sbin/iptables
Run Code Online (Sandbox Code Playgroud)
编辑 sudoers 文件后,MY_USER_NAME 可以运行“sudo iptables”命令。并且无法运行任何其他需要权限的命令。
使用“visudo”命令编辑 sudoers 文件。