软件包在kylin系统上安装时,提示被阻止,根据以往经验,设置中将安全相关的配置都关闭了,此时系统不阻止程序安装,但是在写/ete/profile文件时提示权限不足。


排查过程:
1、首先考虑到权限问题,安装脚本通过pkexec来实现root身份获取,在脚本中加入了whoami命令,再次执行时输出了root,说明对应的用户没有问题,加入了cat /etc/profile,执行时可以看到正常输出/etc/profile文件内容,但是接下来写/etc/profile文件报无权限错误。
2、简化操作,编写脚本,执行结果如下
#! /bin/bash
cat /etc/profile
echo "export AAA=b" >> /etc/profile
3、第一反应是安全模块捣鬼,查看selinux,发现是禁用的,查看apparmor,也是没有启用,考虑到麒麟系统自身的安全模块kysec,查看状态,对应的文件保护也是off,
getstatus
4、想着关闭kysec模块试一试
setstatus disable
再执行脚本,发现脚本正常执行,具备修改/etc/profile权限。
总结:麒麟的kysec安全模块和界面上的配置行为不一致导致此次问题发生。