今天在搭建性能环境时,在svn up更新的时候报错“svn: Can't open file '.svn/lock': Permission denied”, 这是为什么呢?
回顾下我的操作步骤是:
1.checkout一份文件到本地,第一次checkout的时候会提示输入SVN的账号和密码,我输入的SVN的账号是yihan。用的命令为:
sudo svn co svn路径
这里用的yihan的账号获取的svn代码,但是目录下文件的所有者变成了root. 原因是没有sudo时用了root账号来执行命令。
2.部署应用,用admin账号执行部署脚本,此时会执行svn up.执行的命令为:
sudo -u admin -H ./build.sh
但是发现svn up的时候会报错误,提示:没有权限写入或者读取“.svn/lock”文件。
查找资料,才知道原来是权限的问题。
我checkout下来的文件所有者成了root,但是svn up时,用的admin账号。此时admin账号不能对root账号下的文件进行更新操作。
解决办法,
第一种方法是用具有root权限的账号给.svn受权限,让admin对该文件夹具有写权限。然后在svn up的时候就可以。
第二种方法是把.svn的所有者修改给admin用户,svn up的时候也是OK的。
我用的方法是:
sudo chown admin:admin . -R //把目录的所有者修改成admin
所以需要注意,在下载代码时,用admin账号下载:
sudo -u admin svn co svn路径
这样用admin权限去执行部署脚本,svn up时就不会报错了。
报错“svn: Can't open file '.svn/lock': Permission denied”
最新推荐文章于 2024-03-29 17:57:23 发布
本文介绍了在使用SVN过程中遇到的“svn:Can't open file '.svn/lock': Permission denied”错误及其解决方法。主要原因是文件所有者与更新操作者不一致导致权限不足。文章提供了两种解决方案:调整.svn文件夹的权限或更改其所有者。

594

被折叠的 条评论
为什么被折叠?



