8、为用户分配权限
对比cvsnt:在cvsnt中,可以用命令cvs chown来修改某个目录的属主,用命令cvs chacl来设置某个cvs用户/组对一个目录的访问权限; 可以在CVSROOT下创建admin文件来设置库的管理员,创建group文件来设立不同的组。
而在linux下,cvs不支持group与admin文件,也不支持cvs chacl命令,所以就只能用系统命令:chown 与 chmod 对pc系统用户的访问权限进行设置,之后,映射到这个系统用户的cvs用户的权限也就跟着改变了(这一点与cvsnt很不一样,在 cvsnt中:cvs用户与pc系统用户的权限是不相干的,映射只是为了登陆,而权限不会也跟着映射过来的); 在linux下,cvs还是支持 readers、writers文件的,所以也可以通过修改它们来修改用户的权限,不过这个权限是对整个库的访问权限。
在/cvsroot/CVSROOT/下 ,加入两个文件 readers , writers
将只有只读权限的用户加入 readers 文件,
将具有读写权限的用户加入writers 文件。
如:# vi writers
gaoshang
注意:readers文件的优先性高于writers文件的,也就是说,如果将同一个用户都加在这两个文件中,那这个用户只拥有只读权,并不拥有写权。
所以:writers中的用户不能在readers中,要不然不能上传更新文件。
9、linux客户端登录测试 (或见 window cvs客户端 wincvs 1.3的使用说明)
假定cvs服务器在192.168.10.11上,系统上有用户cvsroot和gaoshang。登陆另一台linux机器,执行下列命令可以完成测试:
[root@test2 test]# export CVSROOT=:pserver:cvsroot@192.168.10.11:2401/cvsroot
[root@test2 test]# cvs login
Logging in to:pserver:cvsroot@192.168.10.11:2401/cvsroot
CVS password:
#注:输入密码,没有出错提示表示登陆成功。
[root@test2 test]#
[root@test2test]# export CVSROOT=:pserver:gaoshang@192.168.10.11:2401/cvsroot
[root@test2 test]# cvs login
Logging in to:pserver:gaoshang@192.168.10.11:2401/cvsroot
CVS password:
#注:输入密码,没有出错提示表示登陆成功。
[root@test2 test]#
配置中碰到的问题
1、cvsroot用户不能登录
[root@test2 test]# export CVSROOT=:pserver:cvsroot@192.168.10.11:2401/cvsroot
[root@test2 test]# cvs login
Logging in to:pserver:cvsroot@192.168.10.11:2401/cvsroot
CVS password:
no such user cvsroot in CVSROOT/passwd
解决办法,查看发现原因是/cvsroot/CVSROOT/passwd文件中没有包含cvsroot用户
2、只有cvsroot用户可以登陆,别的用户都不能登录
查看原因发现是/etc/xinetd.d/cvspserver文件的server_args = -f --allow-root=/cvsroot pserver目录参数不对,因为我们此次配置的cvs工作目录是/cvsroot,而不是/home/cvsroot,所以将该参数改为server_args = -f --allow-root=/cvsroot pserver,所有用户均可正常登录。
相关阅读:
CVS的常用命令速查手册