Libnl を使用し、netlink ソケットを介していくつかの qdisc をセットアップしようとするプログラムがあります。
プログラムを管理して qdisc をセットアップする権限を取得するにはどうすればよいですか?
私はそれを実行できることを知ってsudo
いますが、これは私にとってオプションではありません。limits.conf
特定のユーザーに権限を付与するような構成ファイルはありますか?
Libnl を使用し、netlink ソケットを介していくつかの qdisc をセットアップしようとするプログラムがあります。
プログラムを管理して qdisc をセットアップする権限を取得するにはどうすればよいですか?
私はそれを実行できることを知ってsudo
いますが、これは私にとってオプションではありません。limits.conf
特定のユーザーに権限を付与するような構成ファイルはありますか?
徹底的にグーグルでマンページを見た後、これは不可能のようです。
Qdisc は、次のタイプのソケット (AF_NETLINK) によって制御されます。Qdisc は netlink ソケットを使用してカーネルと通信します。たとえば、socket(RAW) でソケットを開いた場合、Linux の「機能」CAP_NET_RAW を raw ソケットを使用できるようにするユーザーに設定します。
ネットリンクのマンページを読むと、他のタイプの操作には CAP_NET_ADMIN が必要であることがわかりますが、この機能で「setcap」コマンドを使用し、そのユーザーとして Qdisc を操作しようとすると、機能しないようです。
誰かがより良い方法 (Linux カーネルへのパッチを含む) を知っている場合は、投稿してください。