1.2.6 配置cvs环境
在 cvs 管理员用户的HOME目录里有一个 CVSROOT 目录,这个目录里有三个配置文件,passwd, readers, writers,可以通过设置这三个文件来配置 CVS 服务器,下面分别介绍这几个文件的作用:
passwd:cvs 用户的用户列表文件,它的格式很象 shadow 文件:
{cvs 用户名}:[加密的口令]:[等效系统用户名]
readers:有 cvs 读权限的用户列表文件。就是一个一维列表。在这个文件中的用户对 cvs只有读权限。
writers:有 cvs 写权限的用户的列表文件。和 readers 一样,是一个一维列表。在这个文件中的用户对 cvs 有写权限。
注意:如果用户同时在readers和writers文件存在,则这个用户只有read的权限而没有write的权限。
1、创建可以登陆cvs服务的用户及密码,需要创建文件passwd
vi /root/cvsroot/CVSROOT/passwd
文件内容如下:
smilings:xxxxx:cvsroot
chenxu:xxxxx:cvsroot
此文件的意思是smilings和chenxu两个用户可以登陆cvs服务器,登陆后其权限为用户cvsroot的权限
注意:cvs用户和服务器用户是可以不一样的
2、xxxxxx为密码,由以下文件生成:
vi /var/cvsroot/passwdgen.pl
文件内容:
#!/usr/bin/perl
srand (time());
my $randletter = "(int (rand (26)) + (int (rand (1) + .5) % 2 ? 65 : 97))";
my $salt = sprintf ("%c%c", eval $randletter, eval $randletter);
my $plaintext = shift;
my $crypttext = crypt ($plaintext, $salt);
print "${crypttext}\n";
3、修改passwdgen.pl为可执行
#chmod +x passwdgen.pl
如果需要密码为:smilings,则敲入:
passwdgen.pl "smilings"
回车即可得到加密密码,用其替换passwd文件中的xxxxxx
4、编辑 writers 文件,加入下面几行:
smilings
chenxu
注:passwd文件的格式是:
以“:”为分隔,分为三部分:
- 第一部分是cvs帐号名(与系统帐号无关,也可与系统帐号名相同)
- 第二部分(可选项)是加密串,每个系统用户的加密串缺省是在/etc/shadow中,如果cvs帐号不是操作系统的帐号,shadow中是不会有cvs帐号的加密串的,这时就必须手工为cvs帐号生成加密串,可以将其他系统帐号的密码修改成想要的密码(此时shadow文件的加密 串跟着改变),在取得加密串后改回去。当第二部分置空时,该帐号以任何口令均可登入cvs server
- 第三部分(可选项)是一个操作系统帐号, 如果登陆成功, cvs用户就以此系统帐号的身份存取cvs中的源代码,这里的系统帐号是cvs权限控制的关键, 这个系统帐号有什么权限, 以此帐号身份存取cvs的cvs用户就有相同的权限.。注意: 考虑到cvs用户是以某个系统帐号的身份运行的, 此系统帐号应当对repository下的相应目录有写的权限, 这样就存在直接进入目录对文件进行修改的可能, 而这是cvs操作所不允许的,为了避免这种误操作, 建议在产生此系统帐号时使其shell为/bin/false, 并且不设置此帐号的密码,这样可以禁止直接以此系统帐号te.net或者ftp进入CVS Server。
另外,passwd文件中的用户不能重名,否则只有第一个有效。
1.3 CVS Client端的配置
CVS服务器正确安装置后,就可以设置Client端来操作了。
设置方法是:将环境变量增加到.profile/bash_profile中:
export CVSROOT=:pserver: smilings@216.245.143.71:/root/cvsroot
%cvs login 系统将提示输入CVS口令
口令认证通过后,就可以进行CVS的操作了。
1.3.2 Windows环境下
在http://www.wincvs.org下载最新wincvs软件并安装。
设置环境CVSROOT变量:
运行wincvs,从界面菜单处,选择admin --> preference --> General -->设置CVSROOT为::pserver:a@216.245.143.71:/root/cvsroot
其中的a为用户的CVS帐号,@后面是CVS服务器的IP地址。
当cvs server的端口不是缺省的2401时,需要在
admin --> preference --> Ports -->设置For "pserver"(passwd) port为定义的值。
文章来源于领测软件测试网 https://www.ltesting.net/