linux - 如何让 ng 服务在启动后放弃 root 权限?

标签 linux networking mercurial privileges hgserve

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

问题是我必须是 root 才能让“hgserve”打开网络端口。然后,当我从笔记本电脑推送创建新文件的更改时,它们由 root 拥有。下次我想在为存储库提供服务的计算机上工作时提交某些内容时,我没有某些文件的权限。我可以做

sudo hg commit

但这看起来有点过分和烦人。

有什么方法可以启动“hgserve”并打开网络端口,然后在操作文件时放弃root权限?

最佳答案

它不会放弃特权。如果您只为自己运行一个存储库,则应该使用 ssh://URL 而不是 hgserve ,这样就可以省去运行服务器的麻烦。如果您不仅仅为您运行它,您应该让 nginx 或 apache 监听端口 443(或 80)并代理到生产级 wsgi 容器,例如在高编号端口上列出的 Gunicorn。

来自hg帮助服务:

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.

关于linux - 如何让 ng 服务在启动后放弃 root 权限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25079390/

相关文章:

python - Python 命令行界面中的 Tab 完成 - 如何捕获 Tab 事件

c++ - Cassandra CPP 驱动程序

python - 如何使 `requests` 使用与 DNS 解析不同的主机名进行 TLS 验证?

mercurial - 如何使 hg 忽略过滤器不区分大小写

mercurial - 在 Mercurial 中使用基本标签

java - Log4j 记录到单独的文件

java - ElasticSearch OOM 有问题,有足够的 RAM 和 ulimits 备用

c++ - 在 Linux 中测量 C++ 系统调用命令的时间

linux - .screenrc 并登录到多个远程服务器

java - LAN 中不同计算机上的 JVM 与其他计算机进行通信的最快方式是什么?