【问题标题】:How to make hg serve drop root priveleges after launch?如何在启动后使 ng 服务删除 root 权限?
【发布时间】:2014-08-01 11:37:35
【问题描述】:

我的一台计算机上有一个 HG 存储库。我有时在这台机器上开发,有时我使用我的笔记本电脑。我运行“hg serve”迷你网络服务器来传输变更集到我的笔记本电脑。

问题是我必须是 root 才能让“hg serve”打开网络端口。然后当我从我的笔记本电脑推送一个创建新文件的更改时,它们归根用户所有。下次我想在为存储库提供服务的计算机上提交某些内容时,我无权访问某些文件。我可以的

sudo hg commit

但这似乎太过分和烦人。

有什么方法可以启动“hg serve”,让它打开网络端口,然后在操作文件时删除 root 权限?

【问题讨论】:

  • 为什么不在 1024 以上的端口上运行hg serve(具有用户权限)?
  • 说实话我忘了1024以上的端口不需要sudo权限才能打开,但是hg serve在没有sudo权限的情况下仍然无法工作。一定是别的原因。我只是假设(错误地)这是端口的权限问题。

标签: linux networking mercurial privileges hgserve


【解决方案1】:

它不会放弃特权。如果你只为你运行一个 repo,你应该使用 ssh:// URLs 而不是 hg serve 并且完全省去运行服务器的麻烦。如果你运行它的不仅仅是你自己,你应该让 nginx 或 apache 在端口 443(或 80)上侦听并代理到生产级 wsgi 容器,例如在高编号端口上侦听的 gunicorn。

来自hg help serve

You can use this
for ad-hoc sharing and browsing of repositories. It is recommended to use
a real web server to serve a repository for longer periods of time.

【讨论】:

    猜你喜欢
    • 2011-03-22
    • 2011-02-11
    • 1970-01-01
    • 1970-01-01
    • 2023-03-26
    • 2012-04-15
    • 2018-03-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多