银河麒麟桌面系统禁止普通用户修改网络配置有四种方法:一、禁用图形化工具执行权限;二、移除对networkmanager配置目录的写入权限;三、禁用networkmanager用户服务;四、通过pam模块限制网络命令执行。

如果您正在使用银河麒麟桌面操作系统,但需要防止普通用户擅自更改网络连接参数、IP地址或代理设置,则可能是由于涉密终端管控、政务专网隔离或统一运维策略要求。以下是多种可行的禁止方法:
一、禁用图形化网络配置工具执行权限
该方法通过修改关键网络管理程序的文件权限,使非root用户无法启动图形界面网络编辑器,从而阻断常规路径下的配置入口。nm-connection-editor与kylin-nm是系统默认调用的图形化网络配置前端,限制其可执行性可立即生效且无需重启服务。
1、在终端中执行命令查看当前权限:sudo ls -l /usr/bin/nm-connection-editor /usr/bin/kylin-nm
2、将两个程序的权限修改为仅允许root及组内用户执行:sudo chmod 750 /usr/bin/nm-connection-editor /usr/bin/kylin-nm
3、验证修改结果:sudo ls -l /usr/bin/nm-connection-editor /usr/bin/kylin-nm,确认输出中普通用户权限位为“---”
4、切换至普通用户账户(如pdsyw1024),尝试点击任务栏网络图标→“设置网络项”→“编辑连接”,应提示“权限被拒绝”或无法打开窗口
二、移除普通用户对NetworkManager配置目录的写入权限
该方法锁定系统级网络配置存储位置,阻止用户通过任何方式(包括命令行nmcli)向/etc/NetworkManager/system-connections/写入或修改连接定义文件。即使用户掌握nmcli命令,也将因权限不足而失败。
1、执行命令查看当前目录权限:ls -ld /etc/NetworkManager/system-connections/
2、将目录所有者设为root,并移除组和其他用户的写权限:sudo chown root:root /etc/NetworkManager/system-connections/ && sudo chmod 755 /etc/NetworkManager/system-connections/
3、确认目录权限已更新:ls -ld /etc/NetworkManager/system-connections/,确保显示为drwxr-xr-x
4、以普通用户身份运行sudo nmcli con mod "有线连接1" ipv4.method auto,应返回错误:Error: Connection '有线连接1' is not modifiable
三、禁用NetworkManager用户服务并强制使用systemd系统服务
该方法关闭用户会话级NetworkManager实例,仅保留由root启动的系统级服务,从而切断普通用户通过D-Bus接口调用网络管理API的能力。用户无法再通过nmcli --user或图形界面触发连接变更。
1、停止当前用户级别的NetworkManager服务:systemctl --user stop NetworkManager
2、禁用该服务开机自启:systemctl --user disable NetworkManager
3、屏蔽用户服务单元文件(防止被意外启用):mkdir -p ~/.config/systemd/user && ln -sf /dev/null ~/.config/systemd/user/NetworkManager.service
4、重新登录用户会话后,执行nmcli -p general查看状态,应显示"connecting"状态不可用或报错dbus连接失败
四、通过PAM模块限制网络相关命令执行
该方法在系统认证层拦截特定命令调用,当普通用户尝试执行nmcli、ip、ifconfig等网络操作命令时,PAM会在执行前检查用户组归属,非指定组成员将被直接拒绝。此方式覆盖命令行与脚本调用场景。
1、创建PAM限制规则文件:sudo tee /etc/pam.d/nmcli > /dev/null auth [success=ok default=bad] pam_group.so use_first_pass
auth [default=deny] pam_succeed_if.so user ingroup netadmin
EOF
2、为合法管理员创建专用用户组:sudo groupadd netadmin
3、将授权用户加入该组:sudo usermod -aG netadmin pdsyw
4、测试限制效果:切换至未加入netadmin组的普通用户,运行nmcli dev list,应返回“Operation not permitted”
五、锁定NetworkManager主配置文件只读属性
该方法防止用户通过修改/etc/NetworkManager/NetworkManager.conf全局配置来启用危险选项(如allow-unmanaged、plugins=ifupdown),从而规避上层管控逻辑。文件被设为不可写后,任何试图reload配置的操作均失效。
1、备份原始配置:sudo cp /etc/NetworkManager/NetworkManager.conf /etc/NetworkManager/NetworkManager.conf.bak
2、设置文件为不可修改(chattr +i):sudo chattr +i /etc/NetworkManager/NetworkManager.conf
3、验证锁定状态:sudo lsattr /etc/NetworkManager/NetworkManager.conf,输出应含----i--------e---
4、尝试以root身份编辑该文件并保存:vi /etc/NetworkManager/NetworkManager.conf,应提示"Permission denied"或"Can't write file"











