授予用户使用netlink套接字设置qdisc的权限

时间:2012-12-12 08:44:05

标签: linux privileges netlink

我有一个程序使用Libnl并尝试通过netlink套接字设置一些qdisc。

如何管理程序以获得设置qdisc的权限?

我知道我可以用sudo运行它,但这对我来说不是一个选择。 是否有任何配置文件如limits.conf来授予特定用户的权限?

1 个答案:

答案 0 :(得分:3)

经过广泛的谷歌搜索并查看了手册页,这似乎是不可能的。

Qdiscs由以下类型的套接字(AF_NETLINK)控制。 Qdiscs使用netlink套接字与内核通信。例如,如果您打开一个带套接字的套接字(RAW),您可以将linux“功能”CAP_NET_RAW设置为您希望能够使用原始套接字的用户。

如果您阅读了netlink联机帮助页,您会发现它们需要CAP_NET_ADMIN用于其他类型的操作,但如果您使用具有此功能的“setcap”命令,然后尝试以该用户身份操作Qdisc,则不会出现工作。

如果有人知道更好的方式(包括linux内核的补丁),请发帖。