通过SSH,git-checkout到用户不拥有的目录:“权限被拒绝”

使用git push server我通过SSH推送到一个远程的git-repository。 服务器上的git-repository有一个post-receive hook,它在/var/www/vhosts/domain.com/preview tree)中运行git checkout -f进行部署。

我明白了

错误:git checkout-index:无法创build文件README(权限被拒绝)

[等等…]

每当钩子被执行。

这对我来说很有意义,因为ssh用户“bob”没有“预览”目录,所以他没有写权限。

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”连接服务器是唯一的select吗?

我读了unix权限,但仍然不能真正找出正确的方法来解决这个问题。 任何指针都表示赞赏!

添加bob到psaserv组和chmod -R g + w /var/www/vhosts/domain.com/应该为你sorting。