我有一个 root 的 android 设备,我需要在其中注入(inject)以下策略:
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
注入(inject)所需策略的命令。我面临一个问题,重新启动这些策略不再存在。据我了解,新政策是在
/sys/fs/selinux/policy
注入(inject)的。位置,这不是持久存储。另外,根分区有一个文件/sepolicy
其中包含这些策略规则。我找到了
./sepolicy
在 boot.img
.我有一个 A/B 分区设备,所以 ./sepolicy
在 boot.img
仅用于恢复。现在,由于以下原因,我无法理解如何将所需的策略永久注入(inject)设备:
/sys/fs/selinux/policy
和 /sepolicy
不在永久存储分区上。 boot.img
仅包含仅在恢复时可用的 SELinux 策略。 请建议我如何实现我的目标。
最佳答案
“/sepolicy” 是一个 ramdisk,所以它是临时的。您可以通过将该命令放入一些“init”脚本中来解决它,该脚本将在启动时运行“sepolicy-inject ...”命令;)
关于android - 如何在 android 中永久注入(inject) SELinux 策略?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57477794/