我正在尝试执行一个 shell 脚本,该脚本在 git push 之后初始化 Web 应用程序的部署。该 shell 脚本必须以 root 身份(或非 git 用户的其他用户)运行。
通过搜索,我找到了一种以另一个用户身份启动 shell 脚本的方法,当我直接从终端启动它时,它可以为我工作:
sudo -u root sh /home/path/to/run.sh
问题是,当我推送到服务器时,钩子正在启动(我确保后接收程序正在运行),但程序run.sh
没有执行,而且我没有办法调试它...
有什么线索吗?我做错了什么?
答案1
# su -m user -c '/path/some_command -with -options /some/other/file'