Не доверяющий файл .hg/hgrc из ненадежного корня пользователя, group dev
Репозиторий принадлежит пользователю root, а группа dev
Другой пользователь запускает hg update
в репозитории и получает следующие сообщения:
Not trusting file /dev/.hg/hgrc from untrusted user root, group dev
Not trusting file .hg/hgrc from untrusted user root, group dev
Not trusting file /dev/.hg/hgrc from untrusted user root, group dev
Not trusting file /dev/.hg/hgrc from untrusted user root, group dev
abort: Permission denied: /dev/src/backend/java/com/tt/afr/schedule/service/ScheduleComparator.java
В /etc/mercurial/hgrc
имеем:
trusted.users=root
В домашнем каталоге пользователя, выполняющего hg update
, у нас есть этот файл hgrc:
[trusted]
users = root
groups = dev
Пользователь подключается к серверу с помощью ssh
и запускает команды.
Что мы можем сделать, чтобы исправить это?
Ответы
Ответ 1
Прочтите помощь по доверенности Mercurial и убедитесь, что вы добавили настройки доверия на сервер. Когда вы подключаетесь через SSH, неважно, кому вы доверяете или не доверяете локально - это двоичный файл hg
, который вы запускаете на сервере (через туннель SSH), которому нужно доверять конфигурационному файлу.
Также обратите внимание, что вам нужно поставить
[trusted]
users = root
в файле /etc/mercurial/hgrc
на сервере. Синтаксис section.key = name
, который мы используем, когда говорим о настройках конфигурации, работает только в командной строке.
Ответ 2
Для всех, кто добавил это решение в свой /repo/.hg/hgrc, и ничего не случилось, это решение сработало для меня:
https://j.ee.washington.edu/trac/gmtk/ticket/33
Добавить в /etc/mercurial/hgrc.d/trust.rc
[trusted]
groups = yourgroup
users = youruser
По существу, разрешение на запись в /repo/.hg/hgrc не будет работать, потому что сам файл принадлежит ненадежному пользователю.