_/dev/net/tun
_を開いてioctl()
を発行する必要があるプログラムを開発していますが、rootユーザーがいないと許可が拒否されます。適切なudevルールがこの問題の解決に役立つと思います。ファイル_/etc/udev/rules.d/my_net_tun.rules
_にルール_KERNEL=="tun", MODE="0666", SYMLINK+="static_node=net/tun"
_を使用して新しいudevルールを作成してから、udevルールを再ロードしようとしましたが、それでも権限が拒否されました。私のルールに何か問題があるのではないかと思います。どうすれば修正できますか?
それでは十分じゃない。プロセスが/dev/net/tun
を開くことができる場合でも、新しいtun/tapデバイスを作成したり、それらに所有者を割り当てたりするには、CAP_NET_ADMIN
機能も必要です。
これは、カーネルドキュメントの tuntap.txt
ファイルで説明されています。