###1. 设置属主和权限
对于/data 目录来说, 由于其是可写的, 因此, 可以在开机过程中, 由 init.rc 脚本来修改其权限和属主, 但是, system.img作为一个只读的文件系统, 并不能这么做
我们可以在生成 data.img 和 system.img 的过程中就设定好其中的文件或者目录的属主和权限, 这些内容在android源码中的 “system/core/include/private/android_filesystem_config.h” 文件中定义
static const struct fs_path_config android_dirs[] = {
......
{ 00771, AID_SYSTEM, AID_SYSTEM, 0, "data/data" },
{ 00771, AID_SHELL, AID_SHELL, 0, "data/local/tmp" },
{ 00771, AID_SHELL, AID_SHELL, 0, "data/local" },
{ 01771, AID_SYSTEM, AID_MISC, 0, "data/misc" },
{ 00770, AID_DHCP, AID_DHCP, 0, "data/misc/dhcp" },
......
{ 00771, AID_SYSTEM, AID_SYSTEM, 0, "data" },
{ 00750, AID_ROOT, AID_SHELL, 0, "sbin" },
{ 00755, AID_ROOT, AID_SHELL, 0, "system/bin" },
{ 00755, AID_ROOT, AID_SHELL, 0, "system/vendor" },
{ 00755, AID_ROOT, AID_SHELL, 0, "system/xbin" },
{ 00755, AID_ROOT, AID_ROOT, 0, "system/etc/ppp" },
{ 00755, AID_ROOT, AID_SHELL, 0, "vendor" },
{ 00777, AID_ROOT, AID_ROOT, 0, "sdcard" },
......
}
可以使用 ‘*’ 号来通配文件或者目录
这里只能指定linux传统的属主和rwx权限, 如果要指定文件或者目录的selinux的客体类型, 则需要修改相应的file_context文件