【发布时间】:2011-03-11 11:22:09
【问题描述】:
我正在使用 capistrano 和 git 来部署一个 RoR 项目。部署后,当前文件夹的权限是770而不是755,导致apache显示禁止页面。我工作的原始文件夹使用 755 作为权限。在我的 deploy.rb 中没有关于文件权限的内容。
为什么 capistrano 会更改权限以及在我的 apache 上部署时如何获得正确的权限?
【问题讨论】:
标签: git permissions capistrano
我正在使用 capistrano 和 git 来部署一个 RoR 项目。部署后,当前文件夹的权限是770而不是755,导致apache显示禁止页面。我工作的原始文件夹使用 755 作为权限。在我的 deploy.rb 中没有关于文件权限的内容。
为什么 capistrano 会更改权限以及在我的 apache 上部署时如何获得正确的权限?
【问题讨论】:
标签: git permissions capistrano
我不知道 Capistrano,但 git 本身不存储任何权限,除了“可执行”位。您应该通过在 shell 中设置适当的umask 来获得预期的权限。
【讨论】:
0022,它将为您提供目录和可执行文件的 755,以及非可执行文件的 644。
请参阅此博客文章以及解决方案:http://konradpodgorski.com/blog/2012/07/26/capifony-fix-for-deployment-on-servers-with-strict-permission-settings/
这样的权限更改通常是由默认的umask 设置引起的,这通常可以正常使用。然而,有些主机需要特定的权限(目录通常为 755,文件为 644)。这主要是出于安全原因。您可以做的最好的事情是使这部分部署并设置正确的权限。
【讨论】: