哪个用户组可以使用“点击”网络设备?


9

我将“ tap”网络设备与KVM一起使用,以使vm连接到Internet。但是我必须是root或使用'sudo',这很不方便。我想可以将用户帐户放入某个组,这样我就可以在没有root特权的情况下访问网络设备。我尝试了netdev组,但是不起作用。我的帐户已经在kvm组中。

我该怎么办?还是有什么方法可以让我自由使用KVM而没有权限问题?

Answers:


5

该群组是对拥有读写权限的人/dev/net/tun。默认设置因发行版本而异。设备的所有权和权限由udev设置。

创建一个/etc/udev/rules.d/zzz_net_tun.rules包含以下内容的文件

KERNEL=="tun", GROUP="netdev", MODE="0660", OPTIONS+="static_node=net/tun"

这将使该netdev组中的所有用户均可访问该设备。该设置在创建设备时生效,因此如果已经存在,请执行chgrp netdev /dev/net/tun; chmod 660 /dev/net/tun

(改编自Gentoo Wiki Wiki)


我在Ubuntu 15.04机器上尝试了最后两个命令,但是用户空间应用程序似乎仍然无法访问它:“ qemu-system-arm:-net tap,ifname = tap0:无法配置/ dev / net / tun(tap0 ):不允许操作”。我确认该组设置为netdev,权限设置为0660。(我在netdev小组中。)
内森·奥斯曼

@NathanOsman什么的输出groupsls -l /dev/net/tun?运行strace -o qemu.strace qemu-system-arm net tap,ifname=tap0 …并查看它试图打开的跟踪部分/dev/net/tun。到底是怎么回事?如果您无法解决,请使用所有这些信息提出一个新问题。
吉尔斯(Gillles)“所以别再作恶了”

我最终决定还是要问一个新问题:unix.stackexchange.com/q/243382/1049我仍然会运行strace,看看是否无法深入了解这一问题。
内森·奥斯曼

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.