gpt4 book ai didi

linux - Mercurial - 以其他用户身份执行

转载 作者:太空宇宙 更新时间:2023-11-04 11:12:21 24 4
gpt4 key购买 nike

我使用 mercurial 存储库进行全局配置。系统配置文件链接到/opt/config,这是 root 拥有的 hg 存储库。

我希望所有用户都能够从 repo 更新设置,即在 /opt/config 中调用 hg pull -u

我尝试创建以下脚本

# -rwsr-x--x 1 root users 343 Mar 15 14:10 /bin/update_config

#! /bin/bash
cd /opt/config
hg pull -u

(注意,s位已设置)。在这种情况下,hg 不会从 /root/.hgrc 中读取包含 HTTP 登录参数的设置(用户不可能不知道这些参数)

即使我执行 export HOME=/root 也不会读取 hgrc 文件。

我应该如何更改我的脚本以使其成为可能?

编辑

这似乎是一个普遍的权限问题。我用的是sles11。 touch/root/bla 行在这个脚本中不起作用,为什么?

最佳答案

Mercurial 是一个分布式版本控制系统,在我看来您没有正确使用它。如果用户需要修改存储库,每个用户都应该处理自己的存储库,然后将其配置为 push 到您想要的位置 (/opt/config)。因此,mercurial 工作流将处理 merge 问题。如果他们只是存储库的消费者,您应该 1) 创建一个 cron 条目来自动更新它或 2) 使用持续集成系统,如 JenkinsTeamCity当有东西被推送到它时,它会自动更新存储库。

如果您仍然想了解您的要求,您应该为此查看 sudo 命令。将/opt/config 所有权授予新的无密码用户,配置 sudo 以允许切换到该用户而无需密码,并仅在 ~theuser/.hgrc 中进行配置。这将使它更容易维护(只需要处理一个 .hgrc)。

关于linux - Mercurial - 以其他用户身份执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22507193/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com