使用PHP的Github Pull Webhook - Apache权限

时间:2017-12-28 23:10:46

标签: php git bash apache github

我正在设置我的服务器以收听当前

的webhook
shell_exec('git pull 2>&1');

接收和执行工作正常,除了要让它实际替换文件我需要给www-data(apache debian)写入我的网络服务器上的所有文件/文件夹的权限,对吗?

目前我的结果是这样(没有写权限)

Updating 115da6c..9e82ef0
error: unable to unlink old 'example-path/html.html' (Permission denied)

给予www-data写入文件的权限有什么安全隐患,这是正确的选择,还是我做错了?

1 个答案:

答案 0 :(得分:1)

实现目标的另一种方法:

  1. <强>须藤即可。配置sudo以运行无密码命令并运行shell_exec('sudo git pull 2>&1');

  2. 创建一个运行git pull并运行shell_exec('git_pull_suid_wrapper'); setuid包装