正确的递归 chmod,文件和目录分开

kol*_*pto 6 linux permissions web chmod

我想递归地修改一个目录,以便:

  • 文件是 0664
  • 目录是 0775

如何做得更好、更短、更漂亮?:) 也许,以某种方式使用 umask?

所有find解决方案都太长了:我总是以复制粘贴结束:)

wfa*_*ulk 15

根据您的 chmod 版本,您可以执行以下操作:

chmod -R . ug+rwX,o+rX,o-w
Run Code Online (Sandbox Code Playgroud)

注意大写的X。这会在已经设置了任何执行位的目录和文件上设置可执行位。

请注意,您只能将大写 X 与“+”一起使用,而不能与“=”或“-”一起使用。


use*_*517 7

比什么更好,更短,更漂亮?

cd /directory
find . -type d -exec chmod 0755 {} +
find . -type f -exec chmod 0664 {} +
Run Code Online (Sandbox Code Playgroud)