👨🎓博主简介
💊交流社区: 运维交流社区 欢迎大家的加入!
🐋 希望大家多多支持,我们一起进步!😄
🎉如果文章对你有帮助的话,欢迎 点赞 👍🏻 评论 💬 收藏 ⭐️ 加关注+💗
文章目录
-
- [⚠ 警告说明](#⚠ 警告说明)
- 一、查看麒麟V10桌面版版本号
-
- [1.1 使用命令查看](#1.1 使用命令查看)
- [1.2 使用桌面查看](#1.2 使用桌面查看)
- 二、问题说明
- 三、原因
- 四、解决方法
-
- [4.1 方法1:使用 setstatus 命令关闭 kysec 安全机制](#4.1 方法1:使用 setstatus 命令关闭 kysec 安全机制)
-
- [4.2.1 临时切换软模式(关闭)](#4.2.1 临时切换软模式(关闭))
- [4.2.2 永久切换软模式(关闭)](#4.2.2 永久切换软模式(关闭))
- [4.2 方法2:使用 security-switch 命令关闭 kysec 安全机制](#4.2 方法2:使用 security-switch 命令关闭 kysec 安全机制)
- [4.3 方法3:修改kysec配置文件来解决](#4.3 方法3:修改kysec配置文件来解决)
- 五、总结

⚠ 警告说明
此操作目前只在 银河麒麟V10 桌面版 SP1 2403版本 中使用过,未在其他版本中测试过,如需测试,请提前备份好数据,避免数据丢失。
一、查看麒麟V10桌面版版本号
1.1 使用命令查看
bash
cat /etc/os-release
cat /etc/os-release | grep -i KYLIN_RELEASE_ID

1.2 使用桌面查看
点击左下角开始 --> 找到设置 --> 找到关于 ,就可以看到

二、问题说明
在桌面版的 设置 - 安全中心 - 应用保护 中已经关闭了所有的安全配置,但还是会在运行程序时出现 权限不足 的问题;


三、原因
2403 版本页面"设置-安全中心-应用保护"的配置逻辑存在特殊设计:
- 应用执行控制 :关闭后
kysec_exectl = 0,确实不再拦截程序启动 - 应用访问控制 :页面关闭后对应
kysec_kid = 3(disable_privacy),但 KID 机制仍在后台运行,继续拦截程序启动 - 真正关闭 :必须手动设置
kysec_kid = 0,此时getstatus显示kid protect: off
注意 :页面上的"应用访问控制"开关即使显示关闭,只要配置值不是
0,就会拦截程序启动。
四、解决方法
4.1 方法1:使用 setstatus 命令关闭 kysec 安全机制
先检查kysec模式
bash
getstatus

内容解析:
| 项目 | 当前状态 | 含义 |
|---|---|---|
| KySec status | enabled |
Kysec安全框架已启用(总开关) |
| exec control | off |
执行控制关闭 - 不拦截程序启动 |
| net control | warning |
网络控制警告模式 - 网络异常时警告但不阻断 |
| file protect | off |
文件保护关闭 - 不保护关键系统文件 |
| kmod protect | off |
内核模块保护关闭 - 不限制内核模块加载 |
| three admin | off |
三权分立关闭 - 不强制分离系统管理员/安全员/审计员 |
| process protect | off |
进程保护关闭 - 不保护关键进程不被终止 |
| device control | on |
设备控制开启 - 控制USB/光驱等外设接入 |
| ipt control | off |
iptables控制关闭 - 不管理防火墙规则 |
| kid protect | disable_privacy |
应用访问控制页面"关闭"状态,但仍在拦截程序启动 |
| program blklist | off |
程序黑名单关闭 - 不禁止特定程序运行 |
| eperm control | off |
增强权限控制关闭 - 不限制特殊权限操作 |
解决方法最简单的就是把这些全部关了就行
4.2.1 临时切换软模式(关闭)
临时切换软模式(关闭),立即生效,重启服务器就失效了
bash
setstatus softmode
关闭之后再次查看getstatus状态,会发现kysec的状态,enabled后面多了一个softmode;

4.2.2 永久切换软模式(关闭)
bash
setstatus softmode -p
加上 -p 参数可以永久生效,会将软模式设置持久化,重启后仍然生效。
如需重新恢复开启可使用命令(立即生效):
setstatus enable -p
4.2 方法2:使用 security-switch 命令关闭 kysec 安全机制
bash
# 查看当前安全级别
security-switch --get

可以看到都是启用的状态,把这些状态关闭就可以了;
设置为自定义模式并清空所有控制(彻底关闭),禁用和关闭之后需要重启服务器生效。
bash
security-switch --set custom --list ""

重启完之后再次查看安全级别
bash
security-switch --get
如下图:已经变为自定义的安全级别,且所有的都已经卸载或关闭不会显示;

再次查看kysec模式
bash
getstatus
如下:状态变成了disabled,则是不会自启的状态;

如需恢复可使用命令开启默认的安全配置:
security-switch --set default这里注意:在桌面关闭的安全策略也会恢复初始化的,如需关闭,请去桌面再次手动关闭;
4.3 方法3:修改kysec配置文件来解决
修改kysec配置文件,在修改之前可备份原来的配置,恢复时需进行替换;
bash
# 进入配置文件
vim /etc/kysec/kysec.conf
# 关闭kysec配置中的总开关
kysec_status = 0 # KYSEC 总开关
# 二选一关闭就行
# 或者关闭kysec配置中的应用访问控制(页面显示为"应用访问控制",配置项为kysec_kid)隐私保护是导致程序启动提示权限不足的主要原因
kysec_kid = 0 # KID 隐私保护关闭,不限制隐私数据采集
# 修改完保存退出,重启服务器生效
重启完,再执行
getstatus可以看到kid protect的状态为off,则为关闭;
kysec配置说明:
| 配置项 | 值 | 配置说明 |
|---|---|---|
kysec_status |
0:KYSEC 总开关关闭,整个安全模块不工作 1:KYSEC 总开关开启,模块启用并受其他子项控制 2:KYSEC 软模式开启,等同于 kysec_status=1 + kysec_sm=0 |
KYSEC 总开关 |
kysec_exectl |
0:执行控制关闭,不拦截程序启动 1:强制模式,无标记的程序禁止运行 2:警告模式,弹窗提示用户选择允许/拒绝 |
应用执行控制 |
kysec_netctl |
0:联网控制关闭,程序网络访问不受限 1:强制模式,无标记程序禁止联网 2:警告模式,弹窗提示联网请求 |
应用联网控制 |
kysec_fpro |
0:文件防篡改关闭,系统文件可被修改 1:强制模式,保护关键系统文件不被修改 2:警告模式,修改尝试弹窗提示 |
文件防篡改保护 |
kysec_kmodpro |
0:内核模块防卸载关闭,可自由加载/卸载内核模块 1:强制模式,禁止卸载关键内核模块 2:警告模式,卸载尝试弹窗提示 |
内核模块防卸载 |
kysec_ppro |
0:进程防杀死关闭,可终止任意进程 1:强制模式,禁止杀死关键系统进程 2:警告模式,终止尝试弹窗提示 |
进程防杀死保护 |
kysec_3adm |
0:三权分立关闭,传统 root 单管理员模式 1:三权分立开启,系统/安全/审计管理员分离 |
三权分立 |
kysec_devctl |
0:设备管控关闭,USB、打印机等外设不受限 1:设备管控开启,外设使用需授权 |
设备管控 |
kysec_sm |
0:软模式,违规只记录日志不拦截 1:强制模式,违规操作被拒绝并记录 |
安全标记模式 |
kysec_ipt |
0:iptables 控制关闭,系统防火墙独立管理 1:iptables 控制开启,KYSEC 统一管理防火墙规则 |
iptables 防火墙控制 |
kysec_kid |
0:应用访问控制真正关闭 ,不拦截程序启动 1:隐私保护模式,限制应用采集隐私数据 2:应用访问控制开启(页面"开启"状态),会拦截程序启动 3:应用访问控制关闭(页面"关闭"状态),但机制仍在后台运行,仍会拦截程序 |
应用访问控制(页面)/ KID 隐私保护(配置) |
kysec_eperm |
0:扩展权限控制关闭,不限制特殊权限操作 1:扩展权限控制开启,限制 CAP 能力等高级权限 |
扩展权限控制 |
五、总结
| 解决方法 | 关闭命令 | 恢复命令 | 生效时间 |
|---|---|---|---|
| 方法1 | setstatus softmode -p |
setstatus enable -p |
立即生效 |
| 方法2 | security-switch --set custom --list "" |
security-switch --set default |
重启服务器生效 |
| 方法3 | 备份并修改kysec配置文件 |
恢复备份 |
重启服务器生效 |
⚠ 个人观点,如果有不同观点可再评论区留言,我们一起探讨 !!!
