我在本地计算机上编写代码。我将代码推送到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
吗?
答案 0 :(得分:4)
在您的登录资料中设置umask,例如〜/ .bash_profile中
umask 033
man umask了解详情。