init.rc中的mkdir

时间:2012-09-24 04:59:13

标签: android system mkdir

Init.rc

Line No-264 --- mkdir /data/misc/radio 0770 radio radio

我想将/ data / misc / radio的许可更改为0775.

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

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

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

但是有太多的mkdir命令会使不同的目录具有不同的权限,那么如果我们按照上面的方案进行操作,那么我们应该提供与每个mkdir命令相对应的不同chmod命令吗?

1 个答案:

答案 0 :(得分:1)

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

来自函数do_mkdir()

中的aosp system / core / init / builtins.c
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;
}