Android selinux调试(rk3588 android 12平台)

Android selinux调试(rk3588 android 12平台):

参考文档:
Android系统10 RK3399 init进程启动(二十七) Selinux Type和Attribute

https://www.jb51.net/article/277418.htm
Android selinux策略文件的编译与加载

https://c.biancheng.net/view/1151.htmlSELinux
安全上下文的修改和设置(chcon和restorecon命令)

注意:
在配置sysfs文件时,要配置正确的文件节点。
通过logcat | grep avc 分析是否配置正确。

例如:
在file_contexts文件中进行如下配置是不生效的:
/sys/class/backlight/backlight/max_brightness u:object_r:sysfs_xxx:s0

如下配置才生效:
/sys/devices/platform/fde20.dtsi/fd20.dsi.0/backlight/backlight/max_brightness u:object_r:sysfs_xxx:s0


selinux是否使能:
getenforce
setenforce

selinux在设备里的位置:
system/etc/selinux
vendor/etc/selinux

查看selinux上下文:
getprop -Z
ls -lZ
ps -AZ

修改selinxu上下文:
chcon u:object_r:sysfs_xxx:s0  /sys/class/backlight/backlight/max_brightness

恢复默认selinux上下文:
restorecon -Rv /sys/class/backlight/backlight/max_brightness

查看selinux log:
logcat -b all | grep avc

遇到的问题:
在file_contexts文件中进行如下配置:
/sys/class/backlight/backlight/max_brightness u:object_r:sysfs_xxx:s0
全编译代码验证,发现上面的配置一致没有生效。
通过 cat vendor/etc/selinux/vendor_file_contexts | grep max_brightness 里面是有上面的配置的。

通过 logcat | grep avc | grep max_brightness 分析log发现需要如下配置才生效:
/sys/devices/platform/fde20.dtsi/fd20.dsi.0/backlight/backlight/max_brightness u:object_r:sysfs_xxx:s0

你可能感兴趣的:(BSP,Android,android)