android 13添加新服务时出现selinux权限问题

问题描述 投票:0回答:1
  1. 添加了自定义服务,服务名称为bean,服务没有问题,手动关闭selinux可以正常运行。

  2. 在aosp中建立了vendor/jianc/sepolicy

   vendor
   └── jiangc
       └── sepolicy
           ├── private
           │   └── service_contexts
           └── public
               ├── service.te
               └── system_server.te

内容如下:

service_contexts:
bean u:object_r:bean_service:s0

service.te
type bean_service, service_manager_type;

system_server.te
allow system_server bean_service:service_manager add;

然后修改aosp/device/generic/car/emulator/aosp_car_emulator.mk文件

最后添加以下内容: BOARD_VENDOR_SEPOLICY_DIRS +=供应商/jianc/sepolicy

然后编译:source build/envsetup.sh 午餐 sdk_car_x86-userdebug 启动模拟器模拟器

仍然错误: auditd:avc:拒绝{添加} for pid=831 uid=1000 name=bean scontext=u:r:system_server:s0 tcontext=u:object_r:default_android_service:s0 tclass=service_manager permissive=0

我尝试make clean,重新编译,还是不行 尝试修改为

BOARD_PLAT_PUBLIC_SEPOLICY_DIR += vendor/jiangc/sepolicy/public
BOARD_PLAT_PRIVATE_SEPOLICY_DIR += vendor/jiangc/sepolicy/private
BOARD_VENDOR_SEPOLICY_DIRS += vendor/jiangc/sepolicy

还是不行

selinux
1个回答
0
投票

我的问题似乎已经解决了。首先,我不小心更改了service_contexts.txt的文件名。其次,我需要将以下代码添加到相关的mk中

BOARD_PLAT_PUBLIC_SEPOLICY_DIR += vendor/jiangc/sepolicy/public
BOARD_PLAT_PRIVATE_SEPOLICY_DIR += vendor/jiangc/sepolicy/private
© www.soinside.com 2019 - 2024. All rights reserved.