我刚刚意识到 nmcli 命令不会要求我输入 sudo 访问密码,但最终会修改 /etc/NetworkManager/system-connections/ 下仅限 root 访问的文件。
这怎么能被允许呢?是什么机制使得进程可以更改用户无权访问的文件?
详细信息是,我有一个 vpn 连接,假设为 my-vpn,例如运行:
nmcli c modify my-vpn +ipv4.dns 192.168.1.12
并且 /etc/NetworkManager/system-connections/my-vpn 文件被修改以包含 dns。
答案1
不它不是。
从https://wiki.ubuntu.com/Security/Privileges#Use_Network_Manager
控制台上的所有用户都可以通过 DBus 使用网络管理器管理以太网、无线和 3G 网络。(参考:/etc/dbus-1/system.d/NetworkManager.conf、/etc/dbus-1/system.d/nm-applet.conf)