麒麟操作系统如何禁止普通用户修改网络设置 银河麒麟权限

大瑶同学_5476

大瑶同学_5476

2026-05-06

712人浏览

原创

银河麒麟桌面系统禁止普通用户修改网络配置有四种方法:一、禁用图形化工具执行权限;二、移除对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

协同养育操作系统
协同养育操作系统

协同养育操作系统(Co-Parenting OS)— 离异家庭专业协同养育支持系统。12模块覆盖接送管理、成长记忆库、孩子观察站、亲子关系粘合剂、共同挑战中心、情绪冲突观察、父母成长、成长档案馆、成长阶段引擎、风险预警、驾驶舱、被恶意攻击急救包。当用户涉及离异家庭育儿、协同养育、抚养探视、接送安排、孩子成长记录、亲子关系、离异冲突、被恶意攻击、前任矛盾等话题时触发。

下载

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"

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
c++和c语言的区别有哪些
c++和c语言的区别有哪些

c++和c语言的区别:1、面向对象编程(OOP)支持不同;2、新增特性不同;3、标准库不同;4、编译方式不同;5、命名空间不同等等。想了解更多c++的相关内容,可以阅读本专题下面的文章。

2024.03.14

2208

9

c++和python学习顺序推荐
c++和python学习顺序推荐

一般建议先学习C++,再学习Python,因为这样可以逐步从较为底层的编程语言向更高级的语言过渡。想了解更多python的相关内容,可以阅读本专题下面的文章。

2024.03.14

979

6

python和c++学习性价比分析
python和c++学习性价比分析

Python易于学习,广泛应用于Web开发、数据科学和人工智能等领域,但性能较低。C语言性能高,适用于对性能要求较高的场景,如游戏开发和系统编程,但学习曲线陡峭,错误处理复杂。想了解更多python的相关内容,可以阅读本专题下面的文章。

2024.03.14

407

5

c语言和c++一样吗
c语言和c++一样吗

c语言和c++是两种不同的编程语言,虽然有相似之处,但存在显著差异。c语言专注于过程式编程和系统级开发,以简洁、高效著称。c++作为c语言的超集,引入了面向对象编程,增强了代码组织和管理能力,但学习曲线也更陡峭。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.03.14

307

5

c语言和c++先学哪个好
c语言和c++先学哪个好

初学者选择学习c语言还是c++语言,需要根据个人学习目标、背景以及编程兴趣和预期应用方向来决定。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.03.14

386

5

c语言和c++的区别和联系
c语言和c++的区别和联系

c语言和c++是计算机科学领域应用广泛的编程语言。虽然它们有着相似的基础,但它们在语言类型、语法功能和内存管理方面存在着显著差异。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.03.14

580

5

c++软件中文更改教程
c++软件中文更改教程

对于 ide,可通过打开设置,找到语言设置,选择中文,并保存更改。对于非 ide 应用程序,可查找设置或选项,选择语言设置,更改为中文,并保存更改。想了解更多c++的相关内容,可以阅读本专题下面的文章。

2024.03.21

1389

9

python和java和c++学习性价比分析
python和java和c++学习性价比分析

Python以其易学性、丰富的库和活跃的社区而著称,适合数据科学、人工智能和Web开发。Java以其跨平台性、企业级应用开发和Android应用开发而闻名。C++以其底层控制能力、高效性能和游戏开发而著称。选择哪种语言取决于个人兴趣、职业方向和特定需求。想了解更多python和java和c++的相关内容,可以阅读本专题下面的文章。

2024.03.22

1197

7

c++和c语言学习顺序推荐
c++和c语言学习顺序推荐

对于初学者,建议先学习C语言,掌握编程基础后再转入C++,便于理解面向对象编程概念。有编程经验者可直接学习C++,快速接触高级编程技术。想了解更多c++和c语言的相关内容,可以阅读本专题下面的文章。

2024.03.25

1305

9

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习

ubuntu官方总文档
ubuntu官方总文档

共0课时 | 0人学习

PostgreSQL 教程
PostgreSQL 教程

共48课时 | 20.3万人学习