我试图在Samsung S7上为app设置firebase调试模式,但无法
adb shell setprop firebase.analytics.debug-mode com.roostertech.net.app
avc:拒绝{set} for property = firebase.analytics.debug-mode pid = 19845 uid = 2000 gid = 2000 scontext = u:r:shell:s0 tcontext = u:object_r:default_prop:s0 tclass = property_service permissive = 0
随机尝试设置其他属性并被拒绝
avc:拒绝{set} for property = log.wtf pid = 21107 uid = 2000 gid = 2000 scontext = u:r:shell:s0 tcontext = u:object_r:log_prop:s0 tclass = property_service permissive = 0
avc:拒绝{set} for property = firebase pid = 21086 uid = 2000 gid = 2000 scontext = u:r:shell:s0 tcontext = u:object_r:default_prop:s0 tclass = property_service permissive = 0
但是这个属性log.tag.FA可以设置得很好
adb shell setprop log.tag.FA VERBOSE
我找不到任何可以设置的允许属性的文档?
答案 0 :(得分:0)
每个属性都可以具有自己的上下文,如错误消息中所示。
在property_contexts
文件(例如system/sepolicy/private/property_contexts)中定义了到SELinux上下文的属性映射。
您需要确保允许您在进程(shell
)中运行的上下文更改上下文default_prop
的属性。
您需要在allow
个文件之一中为其定义.te
策略。
set_prop(shell, default_prop)
如果要找出当前允许设置shell
的属性,最好在$OUT/root/sepolicy
中检查已编译的selinux文件。由于我手头没有执行该操作的命令,因此建议您使用grep代替规则,现在假设所有规则都已编译到sepolicy
文件中。
grep -rni "set_prop(shell" --include="*.te"