前几天给别人搭建了一个svn版本库
主要是在权限问题上折腾得不轻
首先我设置的是单库
然后导入项目,直接 svn import到这个目录下
我没有结合apache用,直接svn协议
接下来配置权限
在 /svn下面会看到一个config的文件夹
里面有以下三个文件
设置 svnserve.conf
以上配置分别说明如下
外来人员 无任何权限
认证人员 有写权限
用户配置文件读取当前目录下的 passwd文件(可设置)
权限分配文件读取当前目录下的 auth文件
passwd文件配置
authz文件配置(这个与svn服务启动有密切关系)
我这里是单库 ,启动命令是:
我的authz配置文件里面写的是
svn库的文件增加删除都是没问题的
但是删除文件夹的时候,svn是无法提交的错误如下
后来怀疑是不是admin的组名和用户名一样造成的
我把组名 admin改成 super_amdin与用户名不一样,结果ok。
[b]其它问题[/b]
[b]问题一:配置文件注释不要跟代码写在一行[/b]
我这里authz是这样的配置,[b]千万不要把注释跟代码写在一行[/b]
改成这样
配置文件svnserve.conf里面也是有上面这个错误
改为
当前系统的登录用户
版本库下
主要是在权限问题上折腾得不轻
首先我设置的是单库
svnadmin create /svn
然后导入项目,直接 svn import到这个目录下
svn import -m "init" /项目路径 file:///svn/名称 //注意前边是项目,后边是svn仓库,-m参数是 一条信息
我没有结合apache用,直接svn协议
接下来配置权限
在 /svn下面会看到一个config的文件夹
里面有以下三个文件
authz 权限策略
passwd 用户密码配置
svnserve.conf 总配置文件
设置 svnserve.conf
[general]
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
以上配置分别说明如下
外来人员 无任何权限
认证人员 有写权限
用户配置文件读取当前目录下的 passwd文件(可设置)
权限分配文件读取当前目录下的 auth文件
passwd文件配置
[users]
admin=rootadmin
useone=123
usetwo=321
authz文件配置(这个与svn服务启动有密切关系)
我这里是单库 ,启动命令是:
svnserve -d -r /svn
我的authz配置文件里面写的是
[groups]
admin = admin
dev_user = useone,usetwo
[/]
admin = rw
@dev_user = rw
svn库的文件增加删除都是没问题的
但是删除文件夹的时候,svn是无法提交的错误如下
svn: 提交失败(细节见下):
svn: Access denied
后来怀疑是不是admin的组名和用户名一样造成的
我把组名 admin改成 super_amdin与用户名不一样,结果ok。
[b]其它问题[/b]
[b]问题一:配置文件注释不要跟代码写在一行[/b]
E170001: Authorization failed
我这里authz是这样的配置,[b]千万不要把注释跟代码写在一行[/b]
[repos:/] #以根目录起始的repos版本库manager组为读写权限
改成这样
#以根目录起始的repos版本库manager组为读写权限
[repos:/]
svn: E215004: Authentication failed
配置文件svnserve.conf里面也是有上面这个错误
anon-access = none #匿名访问权限,默认read,none为不允许访问
改为
#匿名访问权限,默认read,none为不允许访问
anon-access = none
[/code]
[b]问题二[/b]
[b]权限问题[/b]
[code="java"]can't open file 'db/txn-current-lock' permission denied
当前系统的登录用户
版本库下
sudo chown -R user:user *