如何更改文件夹及其子文件夹/文件的权限?

新手上路,请多包涵

如何更改文件夹及其所有子文件夹和文件的权限?

这仅适用于 /opt/lampp/htdocs 文件夹,而不是其内容:

 chmod 775 /opt/lampp/htdocs

如何为所有 /opt/lampp/htdocs 文件夹的当前内容设置 chmod 755 ,以及将来自动为在其下创建的新文件夹/文件设置?

相关: 如何在 Linux 终端中设置默认的“chmod”?

原文由 Adam Halasz 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 913
2 个回答

其他答案是正确的,因为 chmod -R 755 会将这些权限设置为树中的所有文件和子文件夹。 但你到底为什么要这样做?这可能对目录有意义,但为什么要在所有文件上设置执行位?

我怀疑您真正想要做的是将目录设置为 755,然后单独保留文件或将它们设置为 644。为此,您可以使用 find 命令。例如:

要将所有目录更改为 755 ( drwxr-xr-x ):

 find /opt/lampp/htdocs -type d -exec chmod 755 {} \;

要将所有文件更改为 644 ( -rw-r--r-- ):

 find /opt/lampp/htdocs -type f -exec chmod 644 {} \;

一些解释:(感谢 @tobbez

  • chmod 755 {} 指定将由 find 对每个目录执行的命令
  • chmod 644 {} 指定将由 find 对每个文件执行的命令
  • {} 替换为路径
  • ; 分号告诉 find 这是它应该执行的命令的结尾
  • \; 分号被 转义,否则它将被shell解释而不是 find

原文由 WombleGoneBad 发布,翻译遵循 CC BY-SA 4.0 许可协议

检查 -R 选项

chmod -R <permissionsettings> <dirname>

将来,您可以通过先查看手册页来节省大量时间:

 man <command name>

所以在这种情况下:

 man chmod

原文由 Steve Robillard 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题