转自:http://www.linzhennan.cn/xnty/339.html
今天更新一个新增加的svn目录是提示“Can’t open file ‘.svn/lock’: Permission denied”的问题。
百度之后终于找到原因:第一次在服务器checkout的时候使用的是root超级用户。这个问题让我头疼了一天真是相当无语。
1.第一次在web服务器checkout的时候,其中debao为SVN仓称,我用的是root超级用户,因为是服务器管理员。
2.我同事svn up的时候会报下面的错误,提示没有权限打开该文件.svn/lock
[root@lamp hooks]# ssh -p 60022 www@192.168.1.170 /usr/local/bin/svn update /home/wwwroot/debao
www@192.168.1.170's password:
svn: Can't open file '/home/wwwroot/debao/data/filecache/.svn/lock': Permission denied
3.用ll查看当前文件夹下的.svn文件时发现其所属组所有者为root
[root@as4-dev wwwroot]# ll debao/.svn
total 28
-r--r--r-- 1 root root 143 Oct 28 12:27 all-wcprops
-r--r--r-- 1 root root 313 Oct 28 12:27 entries
-r--r--r-- 1 root root 2 Oct 28 12:25 format
drwxr-xr-x 2 root root 4096 Oct 28 12:25 prop-base
drwxr-xr-x 2 root root 4096 Oct 28 12:25 props
drwxr-xr-x 2 root root 4096 Oct 28 12:27 text-base
drwxr-xr-x 5 root root 4096 Oct 28 12:27 tmp
知道了问题的真正原因,就可以通过下面的方法解决Can't open file '.svn/lock': Permission denied的问题。
方法一:给目录加权限,www权限,这边www是组
chmod o+w .svn -R
su - www
svn up
方法二:是把.svn的属主属组修改给用户,svn up就可以了。
总结:SVN 出现“Can't open file '.svn/lock': Permission denied”问题原因是因为第一次checkout的时候是用root,使得其他用户没有权限,通过以上方法可以解决。