我正在使用 lubuntu 22.04 发行版。我需要由没有权限的用户执行以下命令root
:
> nmcli c add ifname enp3s0 type ethernet con-name 'connection-test'
上一个命令的输出如下:
Error: Failed to add 'connection-test' connection: Insufficient privileges
netdev
我已按照这篇文章的建议将用户添加到组中,但问题尚未解决。帖子报道了这样一句话:
在 Debian 上,“netdev”组可以使用网络管理器。在 Ubuntu 上,网络管理器访问权限是通过系统控制台获得的,因此 gnome-system-tools 中该条目的名称具有误导性。
“netdev”组可以管理 wicd 和 wpasupplicant。
“netdev”组可以使用 DBus 设置 avahi 主机名。
“netdev”组可以管理蓝牙设备。
这意味着在 Ubuntu 上组的名称netdev
不同?
非 root 用户是否可以在nmcli c add
没有 的情况下执行该命令sudo
?
另一篇文章讨论了相同的主题,并建议创建一个服务,以 root 权限执行,以创建连接NetworkManager
。
Interfaces 文件是 ifupdown 的一部分,它与您使用的网络管理器不同。网络管理器是 freedesktop 的 nmcli 的一部分,它从 polkit 获取其权限
如果您创建这样的文件
/etc/polkit-1/localauthority/90-mandatory.d/99-network.pkla
,该文件授予 netdev 中的用户对网络管理器的访问权限,nmcli general permissions
将显示普通用户拥有权限。原始的 polkit 答案可以在这里找到 https://unix.stackexchange.com/q/692316