我用命令创建了一些目录 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 次 |
| 最近记录: |