Android SEpolicy file_contexts不适用于目录

时间:2018-11-21 12:49:54

标签: android linux android-source selinux

我正在尝试为自定义服务编写SEpolicy,该策略在/ dev / test_sock /文件夹下创建套接字。

开始时它会创建十个套接字

/dev/test_sock/sock1
/dev/test_sock/sock2
/dev/test_sock/sock3
...
/dev/test_sock/sock10

我需要为每个套接字使用不同的文件上下文 作为示例,我检查了AOSP的工作原理,例如在块设备上

/dev(/.*)?                      u:object_r:device:s0
/dev/block(/.*)?            u:object_r:block_device:s0
/dev/block/loop[0-9]*   u:object_r:loop_device:s0
/dev/block/ram[0-9]*    u:object_r:ram_device:s0

我检查了实际的设备上下文,看起来不错

30|console:/ # ls -alZ /dev/block/
total 0
drwxr-xr-x  5 root root          u:object_r:block_device:s0               640 1970-01-01 00:00 .
drwxr-xr-x 18 root root          u:object_r:device:s0                    3600 1970-01-01 00:00 ..
brw-------  1 root root          u:object_r:loop_device:s0             7,   0 1970-01-01 00:00 loop0
brw-------  1 root root          u:object_r:userdata_block_device:s0 179,   0 1970-01-01 00:00 mmcblk0
bdrwx------  2 root reserved_disk u:object_r:block_device:s0                40 1970-01-01 00:00 vold

因此,我尝试以相同的方式进行自己的服务。我创建了具有内容的file_contexts:

/dev/test_sock(/.*)?        u:object_r:test_sock_device:s0
/dev/test_sock/sock1        u:object_r:test_sock_device1:s0
/dev/test_sock/sock[2-4]    u:object_r:test_sock_device_other:s0

已将正确的文件上下文应用于/ dev / test_sock /文件夹,但是此文件夹内的套接字具有相同的文件上下文。根据我的理解,sock1的上下文应该为test_sock_device1,sock [1-4]的上下文应该为test_sock_device_other

130|console:/ # ls -alZ /dev/test_sock/
total 0
drwxr-xr-x  2 root   root u:object_r:test_sock_device:s0      280  1970-01-01  00:00 .
drwxr-xr-x 18 root   root u:object_r:device:s0                3600 1970-01-01  00:00 ..
srw-rw----  1 root   root u:object_r:test_sock_device:s0    0 1970-01-01 00:00 sock1
srw-rw----  1 root   root u:object_r:test_sock_device:s0    0 1970-01-01 00:00 sock2
srw-rw----  1 root   root u:object_r:test_sock_device:s0    0 1970-01-01 00:00 sock3

在我的情况下,如何通过使用file_contexts来纠正设置的上下文?

0 个答案:

没有答案