0

我有一个 root 的 android 设备,我需要在其中注入以下策略:

sepolicy-inject -s init -t su -c process -p transition -l
sepolicy-inject -s su -t system_file -c file -p entrypoint -l
sepolicy-inject -s init -t su -c process -p rlimitinh -l
sepolicy-inject -s init -t su -c process -p siginh -l
sepolicy-inject -s su -t shell_exec -c file -p read -l
sepolicy-inject -s su -t shell_exec -c file -p execute -l
sepolicy-inject -s su -t shell_exec -c file -p getattr  -l
sepolicy-inject -s su -t vendor_toolbox_exec -c file -p execute_no_trans -l
sepolicy-inject -s init -t su -c process -p noatsecure -l
sepolicy-inject -s su -t toolbox_exec -c file -p getattr -l
sepolicy-inject -s su -t toolbox_exec -c file -p execute -l
sepolicy-inject -s su -t system_file -c file -p execute_no_trans -l
sepolicy-inject -s su -t storage_file -c dir -p search -l
sepolicy-inject -s su -t storage_file -c lnk_file -p read -l
sepolicy-inject -s su -t tmpfs -c dir -p search -l
sepolicy-inject -s su -t mnt_user_file -c dir -p search -l
sepolicy-inject -s su -t mnt_user_file -c lnk_file -p read -l
sepolicy-inject -s su -t sdcardfs -c dir -p search -l
sepolicy-inject -s su -t sdcardfs -c file -p append -l
sepolicy-inject -s su -t toolbox_exec -c file -p read -l
sepolicy-inject -s su -t toolbox_exec -c file -p open -l
sepolicy-inject -s su -t sdcardfs -c file -p read -l
sepolicy-inject -s su -t sdcardfs -c file -p write -l

如您所见,我正在使用sepolicy-inject命令来注入所需的策略。我面临一个问题,重新启动这些策略不再存在。

据我了解,新策略是在/sys/fs/selinux/policy位置注入的,这不是持久存储。此外,根分区上还有一个文件,/sepolicy其中包含这些策略规则。

./sepolicyboot.img. 我有一个 A/B 分区设备,所以./sepolicyinboot.img仅用于恢复。

现在,由于以下原因,我无法理解如何将所需的策略永久注入设备:

  1. /sys/fs/selinux/policy并且/sepolicy不在永久存储分区上。
  2. boot.img仅包含仅在恢复时可用的 SELinux 策略。

请建议我如何实现我的目标。

4

2 回答 2

0

“/sepolicy” 是一个 ramdisk,所以它是临时的。您可以通过将该命令放在一些“init”脚本中来解决它,该脚本将在启动时运行“sepolicy-inject ...”命令;)

于 2019-08-13T15:39:18.730 回答
-1

只需通过将 selinux 设置为 permissive 来禁用它

于 2019-11-04T01:05:04.587 回答