SEAndroid记录与总结,待完善。
应用程序所在路径限制其访问的文件类型,比如有一个应用程序test_bin
,编译时将其打包在镜像的/vendor/bin
下,则其具有vendor_file
相关权限,用ls -Z
可查看文件权限类型,如下:
android:/ # ls -Z -l /vendor/
drwxr-xr-x 3 root shell u:object_r:vendor_app_file:s0 4096 2022-07-15 03:01 app
drwxr-x--x 4 root shell u:object_r:vendor_file:s0 8192 2022-07-19 15:15 bin
上面截取了查看到的一部分,可以看到test_bin
具有vendor_file
权限类型。这时需要注意,android不同的分区不允许互相访问,即如果test_bin
想要读写/system
下的文件时,就会报错。查看/system
下的文件权限:
android:/ # ls -l -Z /system
drwxr-xr-x 21 root root u:object_r:system_file:s0 4096 2022-07-15 00:46 apex
drwxr-xr-x 15 root root u:object_r:system_file:s0 4096 2022-07-15 03:01 app
drwxr-x--x 4 root shell u:object_r:system_file:s0 8192 2022-07-15 11:00 bin
可见,/system
和/vendor/bin
文件权限类型不同,不能互相访问。如果在相关te文件中加入对应的规则,则编译时会报错。