dhclientのsetcapが効果がないようです。

dhclientのsetcapが効果がないようです。

私は通常のユーザーからdhclientを実行するためにsetcapを使用して、やや残念な状況に直面しました。私が作業している環境のためにsudoersに追加することはオプションではありません。

私の試み:

sudo setcap 'CAP_NET_BIND_SERVICE,CAP_NET_RAW=+ep' /sbin/dhclient

その後、getcapを介して機能が実際に正しく設定されていることを確認しました。ただし、実行すると許可されていないジョブが発生します。次に、straceで実行してsocket(PF_NETLINK, SOCK_RAW, 0) = 4いくつかの異なるシステムコールを表示し、PF_PACKETから読み取られたすべての内容はsocket(PF_PACKET, SOCK_RAW, 768) = -1 EPERM (Operation not permitted)cap_net_rawだけが必要であることを示します。

Linux 3.16.0-77-generic #99~14.04.1-Ubuntu SMP Tue Jun 28 19:17:10 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

関連情報