修改不同仓库的策略
#su - cvsroot
$export CVSROOT=/home2/cvsroot/pro1
$cvs co CVSROOT
$cd CVSROOT
$vi config
# Set this to "no" if pserver shouldn't check system users/passwords
SystemAuth=no
# Put CVS lock files in this directory rather than directly in the repository.
LockDir=/var/cache/cvs/pro1
# Set `TopLevelAdmin' to `yes' to create a CVS directory at the top
# level of the new working directory when using the `cvs checkout'
# command.
#TopLevelAdmin=no
# Set `LogHistory' to `all' or `TOFEWGCMAR' to log all transactions to the
# history file, or a subset as needed (ie `TMAR' logs all write operations)
LogHistory=TOFEWGCMAR
:wq
$vi loginfo
ALL (echo %{sVv}; cat) | /usr/local/viewcvs-0.9.2/loginfo-handler#SQL checkin
:wq
$cvs commit -m "auth change,log change"
OK,既然不使用系统用户验证,那么我们来创建用户
/************/
不使用系统帐号的原因是充分保证安全,避免系统帐号直接删除仓库里的文件.
虽然麻烦,但是很有必要,因为无法保证每一个程序员都对cvs操作很有经验.
在这种情况下,为每一个工程各建一个等效系统用户,此用户应该是cvs组的成员.
不必有shell.
(也可以为所有的项目建一个等效用户,私有的cvs Server完全可以这么做,甚至可以
直接使用cvsroot,呵呵,是比较危险而已)
#adduser -g cvs -G cvs -s /bin/false -d /home2/cvsroot/pro1 -M cvspro1
/************/
创建一个LockDir(选择/var/cache是因为某些系统放在/var/lock下面有问题)
#mkdir /var/cache/cvs
#chown cvsroot.cvs /var/cache/cvs
#chmod 2775 /var/cache/cvs
#mkdir /var/cache/cvs/pro1
#chown cvspro1.cvs /var/cache/cvs/pro1
#chmod 2775 /var/cache/cvs/pro1
创建用户
先清除环境
$export CVSROOT=
$cd ~cvsroot
$rm -rf CVSROOT
直接切换到pro1的仓库下
$cd /home2/cvsroot/pro1
$cd CVSROOT
创建用户hleil
$htpasswd -c passwd hleil
修改passwd成cvs的格式
$vi passwd
hleil:svcsdasdcvjn:cvspro1
:wq
加入writers组
$echo hleil >>writers
/*****这里有一个问题**********/
如果用户hleil需要writers权限,那么,他不可以出现在readers组中.
writers,readers,passwd的文件尾空行是必要的.
等效系统帐号如果不存在,将导致aclearcase/" target="_blank" >ccess failed.
cvs帐号尽量没有对应的系统帐号,如果有,确保它们的passwd不同.
/******************************/
OK了!
项目pro2同理.