как метки SELinux применяются к файлам в rootfs, то есть к файлам, находящимся непосредственно в /
, которые не принадлежат разделам system
, data
... (Android 7.1)?Вызов ls -lZ /
на adb дает (отрывок):
-rwxr-x--- 1 root root u:object_r:init_exec:s0 806748 1970-01-01 01:00 init
drwxr-xr-x 14 root root u:object_r:cgroup:s0 0 2019-03-14 14:01 acct
-rw-r--r-- 1 root root u:object_r:rootfs:s0 99904 1970-01-01 01:00 file_contexts.bin
Согласно моим исследованиям rootfs (GPIO + GZ) не поддерживает маркировку контекста SElinux (без xattr), поэтому все файлы должны иметьтот же контекст, что, видимо, не так.Я добавил пользовательский файл /foo
на виртуальный диск, который наследует контекст по умолчанию u:object_r:rootfs:s0
.
В качестве теста я добавил правило к system/sepolicy/file_contexts
:
/foo u:object_r:init_exec:s0
чтобы мой файл имел тот же контекст, что и /init
.Это оказывает какое-либо влияние (все же grep /foo /file_contexts.bin
показывает, что /file_contexts.bin
был обновлен).Как мне пометить /foo
?