![如何允许非 su 用户配置网络](https://linux22.com/image/1513523/%E5%A6%82%E4%BD%95%E5%85%81%E8%AE%B8%E9%9D%9E%20su%20%E7%94%A8%E6%88%B7%E9%85%8D%E7%BD%AE%E7%BD%91%E7%BB%9C.png)
我想创建一个具有访客登录的 Debian VM。访客可以使用 /etc/network/interfaces 来配置 VM 的 IP、名称等。这可以做到吗?怎么做?
从网上的其他帖子和文章中,我得到的印象是用户必须是 root 才能更改接口。有解决方法吗?
答案1
将用户添加到netdev
组:该组的成员可以通过network-manager
和管理网络接口wicd
:
添加用户:
adduser user_name_here netdev
重新加载dbus
:
/etc/init.d/dbus reload
编辑
在 Debian 上,“netdev”组获得使用网络管理器的权限。在 Ubuntu 上,网络管理器访问权限是通过系统控制台获得的,因此 gnome-system-tools 中此条目的名称具有误导性。
“netdev”组可以管理wicd和wpasupplicant。
“netdev”组可以使用 DBus 设置 avahi 主机名。
“netdev”组可以管理蓝牙设备。
答案2
为此使用 sudo。使用命令“visudo”编辑 sudoers 文件。您可以使用类似下面的命令:
User_Alias NETWORKING_USERS = guest1, guest2, ...
Cmnd_Alias NETWORKING_COMMANDS = /usr/bin/vim /etc/network/interfaces, /path/to/other/command args, ...
NETWORKING_USERS ALL= NOPASSWD: NETWORKING_COMMANDS
然后来宾用户可以执行以下操作:
sudo vim /etc/network/interfaces
或您使用 visudo 包含的任何其他命令。NOPASSWD 关键字是可选的。如果您希望用户输入密码,只需将其删除即可。