svn post-commit权限被拒绝

时间:2015-01-15 12:19:12

标签: svn

目前我正在尝试设置一个后提交挂钩,它会自动将svn副本导出到我的www-root,这样我的网站就会在提交完成后更新。 post-commit钩子如下所示:

#!/bin/sh

# Delete Old site
rm -R /var/www/html/sha
print 1
# Export Repository
svn export --force file:///var/local/svn /var/www/html/sha

# Make sure Apache Owns the website
chown -R www-data:www-data /var/www/html/sha

但是当我提交一些东西时,我得到了许多Permission denied错误。基本上是这样的:

rm: cannot remove '/var/www/html/sha/extensions/LdapAuthentication.php': Permission denied

所以我知道我需要设置一些新的权限,但我不确定我设置了哪些权限。 / var / www / html目录有www-data:www-data as user:group。

我通过隧道连接到svn服务器,意思是svh + ssh:// user @ host / repo

任何线索?

好吧现在似乎工作了。我将/ var / www / html / sha目录的所有者更改为www-data:walter并删除了chown命令,因为无论如何都需要sudo。现在就像一个魅力。谢谢!

1 个答案:

答案 0 :(得分:1)

钩子脚本运行的用户帐户需要在该路径上拥有适当的权限。

如果您使用Apache为您的存储库提供服务,那么该进程运行的帐户需要权限。如果您使用svnserve,则该用户帐户需要权限。

您可能还有另一个进程锁定文件或目录,阻止删除它。

相关问题