2
我有一個程序,它使用Libnl並嘗試通過netlink套接字設置一些qdisc。授予用戶權限設置qdisc與netlink套接字
我如何管理程序以獲取設置qdisc的權限?
我知道我可以運行它sudo
但這不是我的選擇。 是否有像limits.conf
這樣的配置文件授予特定用戶的權限?
我有一個程序,它使用Libnl並嘗試通過netlink套接字設置一些qdisc。授予用戶權限設置qdisc與netlink套接字
我如何管理程序以獲取設置qdisc的權限?
我知道我可以運行它sudo
但這不是我的選擇。 是否有像limits.conf
這樣的配置文件授予特定用戶的權限?
經過大量的谷歌搜索並查看手冊頁後,這似乎是不可能的。
Qdiscs由以下類型的套接字(AF_NETLINK)控制。 Qdiscs使用netlink套接字與內核通信。例如,如果您使用套接字(RAW)打開套接字,則可以將linux「capability」CAP_NET_RAW設置爲您希望能夠使用原始套接字的用戶。
如果你讀了網絡鏈路手冊頁,你看,他們需要CAP_NET_ADMIN對於其他類型的操作,但如果你使用「setcap」命令具有這種能力,然後試圖操縱隊列規定作爲一個用戶,它不似乎工作。
如果有人知道更好的方法(包括linux內核的補丁),請發佈。