1

初始化文件

第264行---mkdir /data/misc/radio 0770 radio radio

我想将 /data/misc/radio 的权限更改为 0775。

我在上面的行旁边写了这个: Line No-265--- chmod 0775 /data/misc/radio

如果我将第 264 行更改为此 --- mkdir /data/misc/radio 0775 radio radio..

这条线有什么问题?有人说如果 mkdir 失败(如果目录已经存在)那么权限将不会设置为 0775。因此,如果 mkdir 失败,为了确保权限更改为 0775,我们在不同的行中编写了 chmod 命令。

但是有这么多 mkdir 命令正在创建具有不同权限的不同目录,那么如果我们按照上述情况进行操作,那么我们应该为每个 mkdir 命令提供不同的 chmod 命令吗?

4

1 回答 1

1

当 init 执行 init.rc 脚本时,如果目录不存在,mkdir 将根据您提供的权限创建目录,如果目录存在,则根据 mkdir 命令设置权限。

来自函数中的 aosp system/core/init/builtins.cdo_mkdir()

ret = make_dir(args[1], mode);
/* chmod in case the directory already exists */
if (ret == -1 && errno == EEXIST) {
    ret = _chmod(args[1], mode);
}
if (ret == -1) {
    return -errno;
}
于 2013-07-25T18:44:51.500 回答