我用命令创建了一些目录 mkdir -pm 700 /tmp/a/b/c
我很惊讶地发现/tmp/a
有权限775
而不是700
我请求的权限。
是否有某种原因mkdir
只将指定的模式应用于创建的最后一个目录并忽略它的父目录?
这是 POSIX标准要求的mkdir
:
对于-p
选项:
创建任何缺少的中间路径名组件。
其次是:
然后使用以下参数调用 chmod() 函数:
- 与 mkdir() 调用中相同的路径参数
- 取值(S_IWUSR|S_IXUSR|~filemask)&0777作为mode参数,其中filemask为进程的文件模式创建掩码
这意味着它仅chmod
在路径中的最终目录上运行。
归档时间: |
|
查看次数: |
1961 次 |
最近记录: |