繁体   English   中英

在Android selinux中转义冒号字符

[英]Escaping colon character in Android selinux

我正在尝试为我的AOSP构建创建自定义selinux策略,其中不受信任的应用程序可以写入/sys/class/leds/led:flash_torch/brightness从而控制手电筒。

为此,我在external/sepolicy编辑了以下文件

domain.te

allow domain sys_flashlight:file rw_file_perms;

file.te

type sys_flashlight, fs_type;

untrusted_app.te

allow untrusted_app sys_flashlight:file rw_file_perms;

现在,最后一个难题是文件genfs_contexts 理想情况下,我想将此文件更改为包含以下内容:

genfscon proc /sys/class/leds/led:flash_torch/brightness u:object_r:sys_flashlight:s0

首先,请记住上述说法是错误的 genfscon proc仅应与procfs一起使用。 忽略这一点,由于文件路径包含:字符,因此构建过程会抱怨:

external/sepolicy/genfs_contexts:11:ERROR 'syntax error' at token ':' on line 12972:
genfscon proc /sys/class/leds/led:flash_torch/brightness u:object_r:sysfs_flashlight:s0
genfscon proc /foreground u:object_r:proc_foreground:s0
checkpolicy:  error(s) encountered while parsing configuration
make: *** [out/target/product/hammerhead/obj/ETC/sepolicy_intermediates/sepolicy] Error 1
make: *** Waiting for unfinished jobs....

编写selinux策略时如何转义:字符?

编辑 :我已经尝试引用路径并使用\\来尝试逃脱:没有运气

查看解析器语句中的checkpolicy:

policy_parse.y:139:%token GENFSCON
policy_parse.y:750:genfs_context_def    : GENFSCON filesystem path '-' identifier security_context_def
policy_parse.y:752:         | GENFSCON filesystem path '-' '-' {insert_id("-", 0);} security_context_def
policy_parse.y:754:                        | GENFSCON filesystem path 

我们看到GENFSCON的路径令牌正在扩展,其定义为:

policy_scan.l:252:"/"({alnum}|[_\.\-/])*            { return(PATH); }

因此:在集合中无效。

字符集不包含这些字符,这似乎是一个错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM