2012-12-07 154 views
0

我有一个mercurial仓库,我通过uwsgi + nginx提供服务。 uwsgi和nginx都属于www-data组。Mercurial Web推送权限被拒绝

回购属于用户uwsgi和组www数据

当我改变我的权限库,使集团拥有rwx权限,我不能推到回购。如果我给所有者(uwsgi)rwx权限,我可以推送回购。我不明白为什么组权限不足。

回答

1

对此使用组权限是一种正常的方式,所以我们可以肯定地得到这个工作。

当您更改权限时,您确定包含.hg目录及其子目录(.hg/store等)。您还认为uwsgi工作进程确实拥有www-data作为其组?可能是他们正在切换到其他用户/组。

也许首先通过获取hgweb.wsgi文件并在那里输出用户,组和环境的一些调试消息。底线:你正在做的事情是完全可能的,也是一个好主意,但是有一些你错过了,我无法在你的问题中找到它。要么想到你所做的事情并不是不可能的,并且继续寻找或者继续更新这个问题以获得额外的细节,直到它跳出来为止。

+0

我确定uwsgi正在作为www-data运行,但我不确定它的工作进程。我喜欢你对调试信息的建议,并尝试使用 – monknomo

+0

其他一些方法是将打开/写入python命令放入.wsgi的顶部,并查看python写入该目录时发生的错误。如果你对它的使用感到满意,这就是'strace'可以在几秒钟内完成的事情。 –