使用git push server
我通过 ssh 推送到远程裸 git 存储库。服务器上的 git 存储库有一个 post-receive 钩子,它git checkout -f
在/var/www/vhosts/domain.com/preview
(工作树)中运行以进行部署。
我明白了
错误:git checkout-index:无法创建文件 README(权限被拒绝)
[ETC...]
每当钩子被执行时。
这对我来说是有意义的,因为 ssh 用户“bob”不拥有目录“preview”,所以他没有写权限。
root@www:~# ls -lh /var/www/vhosts/domain.com/ | grep preview
drwxr-x--- 5 sumo psaserv 4.0K Mar 29 15:38 preview
我是否应该将“bob”添加到“psaserv”组并将目录 chmod 775(这不起作用),或者这是完全错误的方向?唯一的选择是使用“sumo”而不是“bob”连接到服务器吗?
我阅读了有关 unix 权限的资料,但仍然无法找到解决这个问题的正确方法。任何指点都非常感谢!
答案1
将 bob 添加到 psaserv 组并 chmod -R g+w /var/www/vhosts/domain.com/ 应该可以为您进行排序。