23Jul/109
svn文件属性问题
某项目需要添加ssh远程登陆功能,为sshd中生成了RSA密钥,key文件属性为-rw-------
即,只允许owner自己读写此文件,其他人一概无访问权限。
结果通过svn commit到服务器之后,其他同事再次checkout此文件,属性就变成了-rwr--r--,多出了读权限。
由于文件权限的改变,造成sshd在启动时会失败,提示key的权限过于open。
然后这个key就被忽略了,结果就是提示找不到key,sshd启动失败。
最初还以为是同事修改了他自己本地文件的权限,后来发现我删除本地文件之后从svn重新update,得到的文件也是同样的。
所以只好断定是svn的文件属性保存出错了。
通过google搜索之后发现很多人都有提到这个现象,不确定是svn repository的设置有问题,还是这是svn本身的缺陷。
问题总得解决,于是只好另辟蹊径,修改sshd的启动脚本,在启动sshd之前,将key 文件的属性修改为600,即-rw-------。这样的做法虽然比较dirty,但也算是绕过了svn的问题。
各位看官若知道其他解决途径,请务必告知在下,感激不尽!