CVSNT增加用户权限管理
bird 问:我使用CVSNT在代码库目录设置了访问权限,某些人只有底层几个目录的读写权限;在客户端用TortoiseCVS得要一个一个的取出,而且取出路径非常复杂,也不能一起更新;不知道你有没有碰到类似的问题,有没有方法解决??急等。。
我回答:我一般没有分配权限,因为我遵循XP开发,我查了一些资料,这个基本上没有办法。不过一般我都会分目录更新,这样提交比较明细一些。
www.yippeesoft.com
bird 回答:3ks,我觉得他应该向phpgacl判断角色权限一样,递归到最底层再返回结果,而不是碰到被拒绝就over了。
我回答:我也是觉得这么比较正常,下午我会实验一下,看看有没有什么办法~
www.yippeesoft.com
下午初步实验了一下,发现网上流传的资料好像不能生效
[quote]4、 设置CVSROOT的权限
a) cvs co CVSROOT www.yippeesoft.com
b) cd CVSROOT www.yippeesoft.com
c) cvs chacl default:n,缺省所有人都没有权限
d) cvs chacl hutiejun:rwc,给管理员添加所有权限
e) cvs chown hutiejun,所有者改成管理员
三、设置权限
cvs chacl
Usage: cvs chacl -R [-r tag] &leftsign;user&line;default&rightsign;:[&leftsign;[r][w][c]&line;[n]&rightsign;] [directory...]
-R Recursively set permissions
-r Set permissions on specific branch
[/quote]
如果没有进入CVS取出的目录 www.yippeesoft.com
c:\\3> cvs chacl default:n
cvs chacl: in directory .: www.yippeesoft.com
cvs [chacl aborted]: there is no version here; do \’cvs checkout\’ first
进入后:
c:\\3\\4> cvs chacl default:n
cvs [server aborted]: Couldn\’t open RCS file /cvstest/4/default:n,v: Invalid argument
CVSNT的帮助
Set a user\’s permissions for a directory
cvs chacl [-R] [-r branch] [-u user] [-j branch] [-n] [-p priority] [-m essage] [-a [no]&leftsign;read&line;write&line;create&line;tag&line;control&rightsign;[,...]] [-d] [file or directory. .]
Requires: repository, directories
Changes: access control within file attributes
Allows the owner of a directory to control access by other users.
最后总结了一个步骤,首先我是使用的WINDOWS用户认证,直接使用CVS,没有使用TCVS/WINCVS
c:\\>set cvsroot=:pserver:administrator@127.0.0.1:/cvstest 设置CVSROOT
c:\\>cvs login www.yippeesoft.com 登录
Logging in to :pserver:administrator@127.0.0.1:2401:/cvstest
CVS password: **********
c:\\>cvs passwd -r administrator -a admin 加一个超级用户
Adding user admin@127.0.0.1
New password: ***
Verify password: ***
修改CVSROOT目录下的: www.yippeesoft.com
checkoutlist文件,加入“ admin err-admin”
新建admin文件,加入admin
修改config文件:
# Set this to \’no\’ if pserver shouldn\’t check system users/passwords
#SystemAuth=yes
SystemAuth=no
然后以admin登录
c:\\>set cvsroot=:pserver:admin@127.0.0.1:/cvstest
c:\\>cvs login www.yippeesoft.com
Logging in to :pserver:admin@127.0.0.1:2401:/cvstest
CVS password: *** 改为超级用户登录
c:\\>cvs passwd -a sf1 增加用户,还是必须映射一个系统用户?
Adding user sf1@127.0.0.1
New password: ***
Verify password: ***
cvs server: *WARNING* CVS user \’sf1\’ will not be able to log in until they are aliased to a valid system user.
c:\\>cvs passwd -r shengfang -a sf1
Adding user sf1@127.0.0.1
New password: *** www.yippeesoft.com
Verify password: ***
c:\\>cvs passwd -r shengfang -a sf2
Adding user sf2@127.0.0.1
New password: ***
Verify password: ***
在cvsroot目录下创建文件fileattr.xml
如K:\\cvstest\\4\\CVS
<?xml version="1.0" encoding="UTF-8"?>
<fileattr>
<directory> www.yippeesoft.com
<acl user="Admin">
<read />
<write />
<create />
</acl>
<acl>
<read deny="1" />
<write deny="1" />
<create deny="1" />
</acl>
</directory>
</fileattr>
再在K:\\cvstest\\4\\sf1\\CVS创建
<?xml version="1.0" encoding="UTF-8"?>
<fileattr> www.yippeesoft.com
<directory>
<acl user="Admin">
<read />
<write />
<create />
</acl>
<acl user="sf1">
<read />
<write />
<create />
</acl>
<acl>
<read deny="1" />
<write deny="1" />
<create deny="1" />
</acl>
</directory>
</fileattr> www.yippeesoft.com
改为sf1登录 www.yippeesoft.com
c:\\3>set cvsroot=:pserver:sf1@127.0.0.1:/cvstest
c:\\3>cvs login
Logging in to :pserver:sf1@127.0.0.1:2401:/cvstest
CVS password: ***
c:\\3>cvs co 4
cvs server: User sf1 cannot read 4
再改为ADMIN登录
c:\\3\\4>set cvsroot=:pserver:admin@127.0.0.1:/cvstest
c:\\3\\4>cvs login
Logging in to :pserver:admin@127.0.0.1:2401:/cvstest
CVS password: ***
c:\\3\\4>cd ..
c:\\3>cvs co 4 www.yippeesoft.com
cvs server: Updating 4
cvs server: Updating 4/sf1
cvs server: Updating 4/sf11
cvs server: Updating 4/sf2
看来是没有办法递归了,它好像是直接中断的,如果碰到没有权限的就退出,如果实在觉得麻烦,可能需要在WINCVS里面用TCL或者Python制作脚本、宏了
WINCVS和CVSNT的CVS.EXE文件经常会出现版本不对之类的错误 cvs [chacl aborted]: server does not support chacl
所以最好指定CVS程序为CVSNT自带的 N:\\share\\WinCvs\\cvsnt\\cvs.exe
历史博文
- 20071120 水晶报表 发布 部署 - 2008
- 20070329 winpnt 病毒 木马 - 2007
- 0408 wince tts smartphone sapi - 2006