gpt4 book ai didi

linux - Git hooks 可能需要更高的权限

转载 作者:太空宇宙 更新时间:2023-11-04 04:01:53 25 4
gpt4 key购买 nike

我正在使用 node.js 作为我的网络服务器,并且我希望永远(或类似的东西)运行该服务器。

我还使用 git 来管理网站。我在服务器上有一个裸存储库,可以在本地计算机上推送/pull 。当我推送到存储库时,我希望存储库能够执行三件事。

  1. CD 到我的工作目录(在服务器上)
  2. 从裸存储库中提取工作目录
  3. 重新启动正在运行的网络服务器。

以下脚本似乎是我应该在我的裸存储库中用作 post-receive Hook 的脚本。

cd ~/site
git pull
sudo forever stopall
sudo forever start main.js

但是,我认为让 git hook 像这样使用 sudo 并不明智。该脚本需要提升才能在端口 80 上运行。

我应该怎么做?我的 git 接收后应该是什么样子?

谢谢!

最佳答案

好吧,对于我的特殊情况,出于安全原因,我不应该以 super 用户身份运行 Node 。我希望将其提升为在端口 80 上运行,但不需要提升为在端口 8000 上运行。

所以我将端口 80 转发到端口 8000,现在在端口 8000 上运行 Node 。它的工作方式仍然与之前相同。

我特别用来将端口 80 转发到 8000 的命令是

sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8000

关于linux - Git hooks 可能需要更高的权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22704455/

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