Android init.rc 中 mkdir 参数的含义
Meaning of mkdir parameters in Android init.rc
我正在尝试理解以下命令:
- mkdir /data 0770 根系统
- mkdir /data 0770系统系统
- mkdir /data 0770 系统机房
mkdir 正在创建目录,
/数据是路径,
0770 授予目录读写权限,
根系统我不知道。
格式为
mkdir <path> [mode] [user] [group]
路径定义了必须创建的目录。模式定义目录的权限。用户和组定义谁是目录的所有者。权限与拥有该目录的用户和组有关。例如,mkdir /data 0770 root system
表示 /data
目录由用户 root
和组 system
所有。 root
用户拥有 read/write/execute 权限(因为第一个 7
)并且对于属于 system
组的每个用户也是如此(因为第二个 7
).每个其他用户都没有权限(因为最后一个 0
)。前导的 0
在这种情况下没有特殊意义,它只是表示八进制数的开始。
可以在init.rc
中使用的命令被定义为here。
您还可以使用 ls -l
:
从命令行检查拥有目录的用户和组
# ls -l
...
drwxrwx--- 45 root system 920 1971-02-01 00:26 data
由于您提到了安全标签:这些权限与 SE Linux 标签无关。文件权限被视为自主访问控制 (DAC), whereas SE Linux labels are Mandatory Access Control (MAC)。
您可以使用 ls -lZ
:
检查 SE Linux 标签
# ls -lZ
...
drwxrwx--x 45 root system u:object_r:system_data_file:s0 920 1971-02-01 00:26 data
所以在这种情况下,SE Linux 标签将是 u:object_r:system_data_file:s0
。通常,文件的 SE Linux 标签不会通过 init.rc
动态设置。相反,标签是通过 SE Linux 策略中的 file_contexts
文件静态定义的(reference). Newly created files by default inherit the SE Linux label of their parent directory. To apply the label from the policy to a newly created file, the restorecon
command can be used, as can be seen e.g. here.
我正在尝试理解以下命令:
- mkdir /data 0770 根系统
- mkdir /data 0770系统系统
- mkdir /data 0770 系统机房
mkdir 正在创建目录,
/数据是路径,
0770 授予目录读写权限,
根系统我不知道。
格式为
mkdir <path> [mode] [user] [group]
路径定义了必须创建的目录。模式定义目录的权限。用户和组定义谁是目录的所有者。权限与拥有该目录的用户和组有关。例如,mkdir /data 0770 root system
表示 /data
目录由用户 root
和组 system
所有。 root
用户拥有 read/write/execute 权限(因为第一个 7
)并且对于属于 system
组的每个用户也是如此(因为第二个 7
).每个其他用户都没有权限(因为最后一个 0
)。前导的 0
在这种情况下没有特殊意义,它只是表示八进制数的开始。
可以在init.rc
中使用的命令被定义为here。
您还可以使用 ls -l
:
# ls -l
...
drwxrwx--- 45 root system 920 1971-02-01 00:26 data
由于您提到了安全标签:这些权限与 SE Linux 标签无关。文件权限被视为自主访问控制 (DAC), whereas SE Linux labels are Mandatory Access Control (MAC)。
您可以使用 ls -lZ
:
# ls -lZ
...
drwxrwx--x 45 root system u:object_r:system_data_file:s0 920 1971-02-01 00:26 data
所以在这种情况下,SE Linux 标签将是 u:object_r:system_data_file:s0
。通常,文件的 SE Linux 标签不会通过 init.rc
动态设置。相反,标签是通过 SE Linux 策略中的 file_contexts
文件静态定义的(reference). Newly created files by default inherit the SE Linux label of their parent directory. To apply the label from the policy to a newly created file, the restorecon
command can be used, as can be seen e.g. here.