SEAndroid: как исправить разрешающие домены не разрешено

У меня есть вопрос SEAndroid, когда я создаю новый тип домена для процесса отметки времени, но там все еще есть проблема конфликта с neverallow. Кто-нибудь может дать мне подсказку или подсказку? пожалуйста, смотрите следующие описания.

avc отклонил логи:

[120.810387] type =1400 аудит (932699.049:188): avc: отказано { execute_no_trans } для pid=3875 comm="system_server" path="/system/bin/sh" dev="mmcblk0p47" ino=791 scontext=u:r: системный_сервер:s0 tcontext=u:object_r:shell_exec:s0 tclass=file permissive=1 [ 120.827670] type=1400 аудит (932699.049:188): avc: отклонен { execute_no_trans } для pid = 3875 comm = путь "system_server" = "/ system / bin / sh" dev = "mmcblk0p47" ino = 791 scontext = u: r: системный сервер: s0 tcontext = u: object_r: shell_exec: s0 tclass = файл разрешен =1 [ 120.827684] тип =1400 аудит (932699.069:189): avc: denied { getattr } для pid=3877 comm="sh" путь ="/system/bin/timestamp" dev="mmcblk0p47" ino=832 scontext=u:r: системный сервер:s0 tcontext=u:object_r:system_file:s0 tclass= файл permissive=1 [ 120.828287] type=1400 аудит (932699.069: 189): avc: запрещен {getattr} для pid=3877 comm="sh" путь ="/system/bin/timestamp" dev="mmcblk0p47" ino=832 scontext=u:r: системный сервер: s0 tcontext = u: object_r: системный_файл: s0 tclass = файл разрешающий =1 [ 120.828300] тип =1400 аудит (932699.069:190): avc: отказано {выполнить} для pid=3877 comm="sh" name="отметка времени" dev = "mmcblk0p47" ino = 832 scontext = u: r: системный сервер:s0 tcontext=u:object_r:system_file:s0 tclass= файл permissive=1 [ 120.828593] type=1400 аудит (932699.069:190): avc: отказано {выполнить} для pid=3877 comm="sh" name="timestamp" dev="mmcblk0p47" ino=832 scontext=u:r: системный_сервер: s0 tcontext = u: object_r: системный_файл: s0 tclass = файл разрешен =1 [ 120.828607] тип =1400 аудит (932699.069:191): avc: отказано {прочитано открыто} для pid=3877 comm="sh" путь ="/system/bin/timestamp" dev="mmcblk0p47" ino=832 scontext=u:r: системный сервер:s0 tcontext=u:object_r:system_file:s0 tclass= файл permissive=1 [ 120.828981] type=1400 аудит (932699.069:191): avc: отказано {чтение открыто} для pid=3877 comm="sh" путь ="/system/bin/timestamp" dev="mmcblk0p47" ino=832 scontext=u:r:system_server:s0 tcontext=u:object_r:system_file:s0 tclass=file permissive=1 [ 120.828996] type=1400 аудит (932699.069:192): avc: denied { execute_no_trans } для pid=3877 comm="sh" путь ="/system/bin/timestamp" dev="mmcblk0p47" ino=832 scontext=u:r: системный сервер:s0 tcontext=u:object_r:system_file:s0 tclass=file permissive=1 [ 120.845574] аудит =1400 (932699.069: 192): avc: отказано { execute_no_trans } для pid=3877 comm="sh" путь ="/system/bin/timestamp" dev="mmcblk0p47" ino=832 scontext=u:r:system_server:s0 tcontext=u:object_r:system_file:s0 tclass=file permissive=1 [ 120.845587] type=1400 аудит (932699.089:193): avc: denied { execute_no_trans } для pid=3879 comm="sh" path="/system/bin/dumpsys" dev="mmcblk0p47" ino=570 scontext=u:r: системный сервер:s0 tcontext=u:object_r:system_file:s0 tclass= файл разрешающий = 1

Моя отметка времени:

type timestamp, domain; type timestamp_exec, exec_type, file_type; init_daemon_domain(timestamp)

Мои file_contexts:

/system/bin/timestamp        u:object_r:timestamp_exec:s0

Мой system_server.te:

allow system_server timestamp_exec:file { execute_no_trans getattr execute read open };

Ошибка компилятора. Журналы:

СБОЙ: out/target/product/msm8996/obj/ETC/sepolicy_intermediates/sepolicy /bin/bash -c "(out/host/linux-x86/bin/secilc -M true -G -c 30 out/target/product/msm8996/obj/ETC/plat_sepolicy.cil_intermediates/plat_sepolicy.cil out/target/product/msm8996/obj/ETC/26.0.cil_intermediates/26.0.cil out/target/product/msm8996/obj/ETC/nonplat_sepolicy.cil_intermediates/nonplat_sepolicy.cil_intermediates.cil -o out/target/product/msm8996/obj/ETC/sepolicy_intermediates/sepolicy.tmp -f /dev/null) && (out/host/linux-x86/bin/sepolicy-analysis out / target / product / msm8996 / obj / ETC / sepolicy_intermediates / sepolicy.tmp разрешить> out/target/product/msm8996/obj/ETC/sepolicy_intermediates/sepolicy.permissivedomains) && (если [ \"userdebug\" = \"user\" -a -s out / /target/product/msm8996/obj/ETC/sepolicy_intermediates/sepolicy.permissivedomains ]; затем echo \"=========\" 1>&2; echo \"ERROR: разрешенные домены запрещены в пользовательских сборках \ "1> & 2; echo \" Список недопустимых доменов:\" 1>&2; cat out/target/product/msm8996/obj/ETC/sepolicy_intermediates/sepolicy.permissivedomains 1>&2; выход 1; fi) && (mv out/target/product/msm8996/obj/ETC/sepolicy_intermediates/sepolicy.tmp out/target/product/msm8996/obj/ETC/sepolicy_intermediates/sepolicy)"проверка невыполнения невыполнения в out/target/product/msm8996/obj/ETC/plat_sepolicy.cil_intermediates/plat_sepolicy.cil:12033 из system/sepolicy/private/system_server.te:704 (neverallow system_server base_typeattr_218 (файл (execute_no_trans))) разрешить на выходе / target / product / msm8996 / obj /nonplat_sepolicy.cil_intermediates/nonplat_sepolicy.cil:7533 (разрешить system_server_26_0 timestamp_exec (файл (читать getattr execute execute_no_trans open)))) Не удалось сгенерировать двоичный файл Не удалось построить policydb

1 ответ

Пожалуйста, попробуйте добавить "mlstrustedsubject, coredomain" в конце "type timestamp, domain;"

-    type timestamp, domain;

+    type timestamp, domain, mlstrustedsubject, coredomain;
Другие вопросы по тегам