如何允许非 root 用户创建 tun 设备

如何允许非 root 用户创建 tun 设备

我正在开发一个程序,需要打开/dev/net/tun并发布ioctl()它,但如果没有 root 用户,我的权限会被拒绝。我认为适当的 udev 规则可以帮助解决这个问题。我尝试使用该/etc/udev/rules.d/my_net_tun.rules规则在文件中创建新的 udev 规则KERNEL=="tun", MODE="0666", SYMLINK+="static_node=net/tun",然后重新加载 udev 规则,但权限仍然被拒绝。我认为我的规则可能有问题。我怎样才能解决这个问题?

答案1

这还不够。即使进程能够打开/dev/net/tun,它也应该具有CAP_NET_ADMIN创建新的 tun/tap 设备或为其分配所有者的能力。

这在tuntap.rst来自内核文档的文件。

相关内容