作为普通用户,我可以根据需要在 NetworkManager GUI 中创建网络连接和 VPN 配置,配置文件最终位于写保护/etc/NetworkManager/system-connections/
目录中。但是,如果我尝试通过终端等方式直接创建系统连接配置文件,则会收到权限错误。例如
$ cd /etc/NetworkManager/system-connections/
$ touch WifiWhenYouCanDrive
touch: cannot touch 'WifiWhenYouCanDrive': Permission denied
为什么普通用户(非 sudo)可以使用 NetworkManager GUI 将文件写入写保护目录?难道不应该需要提升权限才能将配置文件写入吗/etc/NetworkManager/system-connections/
?
答案1
NetwotkManager GUI 要求 NetworkManager 守护进程进行所需的更改。此守护进程以 root 身份运行,因此它有权限更改 中的文件/etc/NetworkManager/
。
答案2
除了 Florian 所说的,网络管理器指示器通过 dbus 进行通信。它是不同进程的通信总线,允许代表用户执行某些功能