麒麟v10桌面版2403版本运行程序提示权限不足(KYSEC)
👨🎓博主简介
🏅CSDN博客专家
🏅云计算领域优质创作者
🏅华为云开发者社区专家博主
🏅阿里云开发者社区专家博主
💊交流社区:运维交流社区 欢迎大家的加入!
🐋 希望大家多多支持,我们一起进步!😄
🎉如果文章对你有帮助的话,欢迎 点赞 👍🏻 评论 💬 收藏 ⭐️ 加关注+💗

⚠ 警告说明
此操作目前只在 银河麒麟V10 桌面版 SP1 2403版本 中使用过,未在其他版本中测试过,如需测试,请提前备份好数据,避免数据丢失。
一、查看麒麟V10桌面版版本号
1.1 使用命令查看
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模式
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 临时切换软模式(关闭)
临时切换软模式(关闭),立即生效,重启服务器就失效了
setstatus softmode关闭之后再次查看getstatus状态,会发现kysec的状态,enabled后面多了一个softmode;

4.2.2 永久切换软模式(关闭)
setstatus softmode -p加上 -p 参数可以永久生效,会将软模式设置持久化,重启后仍然生效。
如需重新恢复开启可使用命令(立即生效):
setstatus enable -p
4.2 方法2:使用 security-switch 命令关闭 kysec 安全机制
# 查看当前安全级别
security-switch --get
可以看到都是启用的状态,把这些状态关闭就可以了;
设置为自定义模式并清空所有控制(彻底关闭),。
security-switch --set custom --list ""
重启完之后再次查看安全级别
security-switch --get如下图:已经变为自定义的安全级别,且所有的都已经卸载或关闭不会显示;

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

如需恢复可使用命令开启默认的安全配置:
security-switch --set default
这里注意:在桌面关闭的安全策略也会恢复初始化的,如需关闭,请去桌面再次手动关闭;
4.3 方法3:修改kysec配置文件来解决
修改kysec配置文件,在修改之前可备份原来的配置,恢复时需进行替换;
# 进入配置文件
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配置文件 | 恢复备份 | 重启服务器生效 |
⚠ 个人观点,如果有不同观点可再评论区留言,我们一起探讨 !!!

