3

我在本地机器上编写代码。我将代码推送到 Bitbucket 中的 Mercurial 存储库。然后,我登录到客户端的网络服务器并从 Bitbucket 存储库“拉/更新”到服务器。

问题是他们的帐户在共享服务器上,运行 suphp,并且安全设置只允许 suphp 提供文件 chmod'ed 644 (-rw-r--r--)。但是每次我从 Bitbucket 存储库中提取时,文件权限都会更改为 664 (-rw-rw-r--)。

这不是权限过于严格的问题,因为其他人曾尝试同步 Hg 存储库。Mercurial 不复制文件权限也不是问题。(Hg 过去只复制 eXecute 位,但现在复制所有权限。)

我怀疑我可以以某种方式将我的 Windows 机器上的权限更改为更具限制性并且可以修复它,但我不确定 Windows 权限如何转换为 Linux“所有者/组/世界”设置。(我的 Windows 机器上的文件允许“完全控制”我的帐户、“管理员”组和“系统”,它们从包含文件夹继承的所有权限,该文件夹位于我的文档中。)

有没有人可以解决这个问题?我可以在 Linux 机器上对 chmod 644 做一个更新后挂钩find . -type f吗?

4

1 回答 1

4

在您的登录配置文件中设置 umask,例如 ~/.bash_profile

umask 033

man umask 了解详情。

于 2012-08-21T03:00:11.467 回答