3

Libnl を使用し、netlink ソケットを介していくつかの qdisc をセットアップしようとするプログラムがあります。

プログラムを管理して qdisc をセットアップする権限を取得するにはどうすればよいですか?

私はそれを実行できることを知ってsudoいますが、これは私にとってオプションではありません。limits.conf特定のユーザーに権限を付与するような構成ファイルはありますか?

4

1 に答える 1

4

徹底的にグーグルでマンページを見た後、これは不可能のようです。

Qdisc は、次のタイプのソケット (AF_NETLINK) によって制御されます。Qdisc は netlink ソケットを使用してカーネルと通信します。たとえば、socket(RAW) でソケットを開いた場合、Linux の「機能」CAP_NET_RAW を raw ソケットを使用できるようにするユーザーに設定します。

ネットリンクのマンページを読むと、他のタイプの操作には CAP_NET_ADMIN が必要であることがわかりますが、この機能で「setcap」コマンドを使用し、そのユーザーとして Qdisc を操作しようとすると、機能しないようです。

誰かがより良い方法 (Linux カーネルへのパッチを含む) を知っている場合は、投稿してください。

于 2013-06-14T18:57:30.613 に答える