我们的cvs权限管理不太稳定的情况一直存在,经过近期以来的研究,考虑首先通过htpasswd代替cvstrac的方法简化账户管理,下面是对现有库的调整过程,以eboss库为例。
检查cvsadmin、eboss组中存在zbwangjian账户
#vi /etc/group
内容如下
cvsadmin:x:500:zbwangjian,zhoudongmei
eboss:x:502:zbwangjian
#chown -R eboss:eboss /repository/eboss/
#chown zbwangjian:eboss /repository/eboss/CVSROOT/access
#chmod -R g+s /repository/eboss
#cd /repository/eboss/CVSROOT/
#touch group //如果不存在group文件时执行此命令
#chmod g+w passwd group
#su - zbwangjian
$cvs -d /repository/eboss/ co CVSROOT
$vi CVSROOT/aclconfig
内容如下
UseCVSACL=yes
CVSACLDefaultPermissions=n
UseSystemGroups=no
UseCVSGroups=yes
CVSServerRunAsUser=eboss
$cvs ci
$vi CVSROOT/config
内容如下
SystemAuth=no
$cvs ci
$cd /repository/eboss/
$mv eboss.db eboss.db.bak
$cd CVSROOT/
$mv readers readers.bak
$mv writers writers.bak
$vi group
内容如下
admin:zbwangjian
$vi access
把access中的所有“zbwangjian”替换为“admin”
在“d:ALL:ALL:admin!p:”行下增加下面这行
d:EBoss:ALL:admin!p:
$cvs -d :pserver:zbwangjian@localhost:/repository/eboss login
没有出现错误提示表示成功
$cvs -d /repository/eboss racl admin:p -r ALL ALL
没有出现错误提示表示成功
到这里,取消cvstrac的工作完成,以后就可以直接使用htpasswd命令了,管理员的其它操作和以前完全一致
$cd /cvsdata/p1/CVSROOT/
$htpasswd -b passwd jian 密码
$htpasswd -b passwd jian 密码
$vi passwd
用“#”注释用户,内容如下
wang:WvkxyZJnB/aPg
sun:UVI1jZ0ZAlP1c
user1:FrGMR8cAdoxTc
user2:1WePnhauRrQXU
#jian:xm6P2FwJ40OCY
用户名最大长度是255字节,并且不能包含“:”。