chmod:将文件设置为与目录不同的权限

chmod:将文件设置为与目录不同的权限

我是否可以运行chmod来将文件夹设置为 0755 并将文件设置为 0644,还是必须将 0755 单独应用于所有文件夹?

答案1

您可以使用find、通过-exec或管道命令来完成此操作:

find . -type d -print0 | xargs -0 chmod 0755

或者

find . -type d -exec chmod 0755 {} \;

-type d处理所有目录。您也可以运行上述相同的命令来-type f处理文件(只需确保将 0755 与 0644 交换)。

答案2

您主要可以使用 chmod 的符号模式的“X”权限来执行此操作,这基本上意味着“x,但仅在有意义时”:

chmod -R u=rwX,go=rX /path/to/dir

这将自动在目录上设置 755,在文件上设置 644,但如果任何文件已经具有任何执行权限,它会假定这是有意的(即它们实际上是可执行文件)并将它们也设置为 755。

答案3

想想简单:只有两行(bash,没有python!)

首先所有文件(包括目录):chmod 644 -R *

然后,只有子目录: chmod 755 -R */

相关内容