我正在 Snow Leopard 上运行颠覆性技术。
我创建了一个存储库,我和本地网络上的其他人可以通过 HTTP 在我的本地机器上顺利访问它。
我创建了一个新的存储库,局域网上的其他人可以访问它,但却无权提交任何内容。
一切看起来都一样(两者的 conf 文件具有完全相同的用户/密码)。因此我开始在 OSX 中本地查看权限。
我发现有效的存储库的文件权限如下所示:
_www : read & write
_www : read only
everyone : read only
在拒绝提交的文件上,文件权限如下所示:
system: read & write
_www : read only
everyone : read only
我通过以下方式创建了两个存储库:
sudo svnadmin create /path/to/my/repository
有什么理论可以解释为什么它们被创建时具有不同的文件权限?
解决方案:
可能不是最理想的,但我可以通过查找器(老 777 锤子)手动递归授予 _www 读写权限,这很容易。不过,我很好奇我可能做了什么,导致权限一开始就不同。
答案1
在终端中检查你的 umask:
umask
如果是 022,默认情况下只有所有者具有写权限,组/世界具有只读权限。
以下是更改方法的说明:
http://www.pyrosoft.co.uk/blog/2009/02/19/changing-the-default-umask-on-osx-leopards/
另请注意,默认允许写访问会带来安全隐患...