【问题标题】:Mercurial Web Push Permission DeniedMercurial Web 推送权限被拒绝
【发布时间】:2012-12-07 00:41:03
【问题描述】:

我有一个通过 uwsgi+nginx 服务的 mercurial 存储库。 uwsgi 和 nginx 都属于 www-data 组。

repo 属于用户 uwsgi 和组 www-data

当我更改存储库的权限以使该组具有 rwx 权限时,我无法推送到存储库。如果我给所有者(uwsgi)rwx 权限,我可以推送到 repo。我不明白为什么组权限不够。

【问题讨论】:

    标签: linux mercurial permissions uwsgi


    【解决方案1】:

    为此使用组权限是一种正常的方法,因此我们绝对可以让它发挥作用。

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

    也许从获取 hgweb.wsgi 文件并在其中抛出一些输出用户、组和环境的调试消息开始。

    底线:您正在做的事情完全有可能并且是个好主意,但是您缺少一些东西,我无法在您的问题中找到它。要么对你正在做的事情并非不可能的想法感到安慰,然后继续寻找,要么继续用更多细节更新这个问题,直到它突然出现在我面前。

    【讨论】:

    • 我确定 uwsgi 正在作为 www-data 运行,但我不太确定它的工作进程。我喜欢你关于调试消息的建议,并会尝试
    • 其他一些尝试的方法是将打开/写入 python 命令放在 .wsgi 的顶部,看看当 python 无法写入该目录时会出现什么错误。如果您对它的使用感到满意,这是strace 可以在几秒钟内解决的问题。
    猜你喜欢
    • 2011-12-24
    • 2013-01-17
    • 2018-10-24
    • 2014-02-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-01
    • 1970-01-01
    • 2015-12-19
    相关资源
    最近更新 更多