不信任来自不受信任的用户root,组dev的文件.hg / hgrc

时间:2011-12-16 14:53:48

标签: mercurial permissions ssh repository

存储库由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连接到服务器并运行命令。

我们可以做些什么来解决这个问题?

2 个答案:

答案 0 :(得分:71)

请阅读help on trust in Mercurial并确保您已在服务器上添加了信任设置。当您通过SSH连接时,您信任或不信任本地信息并不重要 - 它是您在服务器上运行的hg二进制文件(通过SSH隧道),需要信任配置文件。

另请注意,您需要输入

[trusted]
users = root

在服务器上的/etc/mercurial/hgrc文件中。我们在讨论配置设置时使用的section.key = name语法仅适用于命令行。

答案 1 :(得分:25)

对于将此解决方案添加到他们的/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的权限将不起作用,因为文件本身归不受信任的用户所有。