如何解决Android init.rc中mkdir参数的含义
我试图理解以下命令:
- mkdir / data 0770根系统
- mkdir / data 0770系统系统
- mkdir / data 0770系统室
mkdir正在创建目录,
/ data是路径,
0770授予对该目录的读写权限,
我不知道的根系统。
解决方法
格式为
mkdir <path> [mode] [user] [group]
该路径定义了必须创建的目录。该模式定义目录的权限。用户和组定义谁是目录的所有者。权限与用户和拥有目录的组有关。例如,mkdir /data 0770 root system
表示/data
目录由用户root
和组system
拥有。 root
用户具有读/写/执行权限(由于第一个7
),并且属于system
组成员的每个用户都拥有相同的权限(由于第二个{ {1}})。每个其他用户都没有权限(由于最后一个7
)。在这种情况下,前导0
没有特殊含义,只是表示八进制数字的开头。
0
中可以使用的命令已定义为here。
您还可以使用init.rc
通过命令行检查拥有目录的用户和组:
ls -l
由于您提到了安全标签:这些权限与SE Linux标签无关。文件权限被认为是自由访问控制(DAC),而SE Linux标签是强制访问控制(MAC)。
您可以使用# ls -l
...
drwxrwx--- 45 root system 920 1971-02-01 00:26 data
检查SE Linux标签:
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
。通常,不会通过u:object_r:system_data_file:s0
动态设置文件的SE Linux标签。而是通过SE Linux策略(reference)中的init.rc
文件静态定义标签。默认情况下,新创建的文件会继承其父目录的SE Linux标签。要将策略中的标签应用于新创建的文件,可以使用file_contexts
命令,例如, here。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。