Разрешение Mercurial Web Push отклонено

У меня есть репозиторий mercurial, который я обслуживаю через uwsgi+nginx. И uwsgi, и nginx принадлежат к группе www-data.

Репозиторий принадлежит пользователю uwsgi и группе www-data.

Когда я изменяю свои разрешения для репозитория, чтобы у группы были разрешения rwx, я не могу нажать на репозиторий. Если я даю владельцу (uwsgi) разрешения rwx, я могу нажать на репо. Я не понимаю, почему групповых разрешений недостаточно.


person monknomo    schedule 07.12.2012    source источник


Ответы (1)


Использование групповых разрешений для этого — нормальный способ, поэтому мы определенно можем заставить это работать.

Когда вы меняете разрешения, вы уверены, что включаете каталог .hg и его дочерние элементы (.hg/store и т. д.). Также уверены ли вы, что рабочие процессы uwsgi действительно имеют www-данные в качестве своей группы? Возможно, они переключаются на другого пользователя/группу.

Возможно, начнем с того, что возьмем файл hgweb.wsgi и добавим туда несколько отладочных сообщений, которые выводят пользователя, группу и среду.

Итог: вы делаете что-то вполне возможное и это хорошая идея, но вам чего-то не хватает, и я не могу найти это в вашем вопросе. Либо утешьтесь мыслью, что то, что вы делаете, не невозможно, и продолжайте искать, либо продолжайте обновлять этот вопрос дополнительными деталями, пока он не выскочит у меня.

person Ry4an Brase    schedule 07.12.2012
comment
Я уверен, что uwsgi запускается как www-data, но я не уверен в его рабочих процессах. Мне нравится ваше предложение об отладочных сообщениях, и я попробую это - person monknomo; 07.12.2012
comment
Некоторые другие способы, которые можно попробовать, — это поместить команду python open/write прямо в верхнюю часть .wsgi и посмотреть, какую ошибку вы получите, когда python не сможет записать в этот каталог. Если вам удобно его использовать, это то, с чем strace может разобраться за считанные секунды. - person Ry4an Brase; 07.12.2012