Subir Makur Asked: 2019-11-26 02:35:32 +0800 CST2019-11-26 02:35:32 +0800 CST 2019-11-26 02:35:32 +0800 CST 关于使用“mkdir -pm 764 a/b/c”创建的中间文件夹的权限 772 当我使用时mkdir -pm 764 a/b/c ,只c获得了 764 权限,而a拥有b默认权限。为什么会这样?为什么不是所有目录都获得 764 权限? permissions mkdir 1 个回答 Voted Best Answer Kusalananda 2019-11-26T02:54:19+08:002019-11-26T02:54:19+08:00 该mkdir实用程序创建一个目录。当与它一起使用时,-m它会创建目录并chmod以给定的权限有效地在其上运行(尽管这不会分两步发生,这在某些情况下可能很重要)。 使用-p,将创建任何尚不存在的中间目录。给定的模式-m仍然只适用于路径名中的姓氏,因为这是您要创建的目录(创建中间目录是为了允许使用给定模式创建该目录)。 POSIX 标准mkdir说每个中间目录都应该使用 shell 的 umask 值所在的模式创建(S_IWUSR|S_IXUSR|~filemask)&0777。filemask 在“应用程序使用”部分,它说 [...] 对于由 创建的中间路径名组件mkdir,模式是默认修改的,u+ wx因此无论文件模式创建掩码如何,都可以始终创建子目录;如果中间目录需要不同的最终权限,可以在之后使用chmod. 这意味着中间目录的模式设置为允许您创建一个可能没有用户写入或执行权限的目录。如果中间目录也没有被授予执行和/或写入权限,则无法创建目录路径的最后一个组件。 在您的具体情况下,使用 mkdir -p -m 764 a/b/c chmod 764 a/b chmod 764 a 如果您确定以前不存在任何目录,请使用 mkdir -p -m 764 a/b/c chmod -R 764 a
该
mkdir
实用程序创建一个目录。当与它一起使用时,-m
它会创建目录并chmod
以给定的权限有效地在其上运行(尽管这不会分两步发生,这在某些情况下可能很重要)。使用
-p
,将创建任何尚不存在的中间目录。给定的模式-m
仍然只适用于路径名中的姓氏,因为这是您要创建的目录(创建中间目录是为了允许使用给定模式创建该目录)。POSIX 标准
mkdir
说每个中间目录都应该使用 shell 的 umask 值所在的模式创建(S_IWUSR|S_IXUSR|~filemask)&0777
。filemask
在“应用程序使用”部分,它说
这意味着中间目录的模式设置为允许您创建一个可能没有用户写入或执行权限的目录。如果中间目录也没有被授予执行和/或写入权限,则无法创建目录路径的最后一个组件。
在您的具体情况下,使用
如果您确定以前不存在任何目录,请使用