cvs linux权限,Linux下cvs服务器的配置和权限管理-很详细.docx

GLinux下cvs服务器的配置和权限管理

1、查看是否安装cvs(redhat9缺省是装的,没有可在系统光盘中找到)

#rpm -qa|grep cvs

2、下载CVSACL

https://sourceforge.net/project/showfiles.php?group_id=75057&package_id=77484&release_id=423655

查看cvs版本

#cvs –version

3、安装CVSACL

# tar -zxvf cvs-1.11.22-cvsacl-1.2.5-patched.tar.gz

# mv cvs-1.11.22-cvsacl-1.2.5-patched cvs-1.11.22

# cd cvs-1.11.22

# ./configure

# make

# make install

4、在CVS服务器端建立仓库

创建用于CVS的专用系统组和用户,以后要访问CVS服务的用户加入cvs这个组:

#groupadd cvs

#useradd -g cvs -s /sbin/nologin cvsroot

#passwdcvsroot

初始化cvs服务器环境

#mkdir /cvs

#cvs -d /cvs init

其实就是cvs初始化cvs环境的命令,会在/cvs目录下生成CVSROOT文件夹,但是安装了CVSACL后,使用此命令CVSROOT文件夹中生成的文件会和不安装CVSACL的文件有所区别,会增加几个文件,稍后会详细介绍这几个文件的作用。

Aclconfig

Access

aclconfig,

设置CVS配置库归属及权限:

#chown -R cvsroot.cvs /cvs

#chmod -R 770 /cvs

加入cvs服务(redhath9缺省就有cvs服务,所以不用加)

#vi /etc/services

#cvspserver 2401/tcp #pserver cvs service

#cvspserver 2401/udp #pserver cvs service

创建CVS启动脚本:

#vi /etc/xinetd.d/cvspserver

内容如下:

service cvspserver

{

disable = no

flags = REUSE

socket_type = stream

wait = no

user = root

server = /usr/bin/cvs

server_args = -f --allow-root=/cvs pserver

log_on_failure += USERID

}

重新启动inetd或者xinetd:

#/etc/init.d/xinetd restart

检查cvspserver服务是否已经启动

#netstat -l |grep cvspserver

5、创建CVS用户

#vi /project/CVSROOT/aclconfig

UseSystemGroups=no

UseCVSGroup=yes

改为“SUseSystemGroups=no”,/etc/passwd里的用户将不再生效,需要给开发者在CVSROOT/passwd里逐一建立账号,新建的不要分配用户目录,因为它将作为一个虚拟用户帐号来使用

#cd /cvstest/CVSROOT

#htpasswd –c passwd yueyx

#vi passwd

yueyx:*******:cvsadmin

6、添加用户

#cd /cvstest/CVSROOT

#htpasswd passwd yueyx

#vi passwd

yueyx:*******:cvsadmin

7、创建组

#cd /cvs/CVSROOT

#vi group

文件格式:

group1:x:1:test1, yueyx //用户之间用“,”分割。

注:cvsacl有个bug,必须在组用户最前边添加一个不存在的cvs用户,group文件才会生效。原因不明,但此方法确实管用。

8、使用cvsacl细化权限(可以针对用户,也可以针对组设置权限)

1. 命令格式

cvs –d 配置库位置 racl [用户||组:权限] [-Rl] [-r tag] [模块…] [文件…]

2. 权限参数

权限

关键字

说明

没有权限

n

用户不能做任何cvs操作

读权限

r

可以执行annotate, checkout, diff, export, log, rannotate, rdiff, rlog, status命令

写权限

w

可以执行commit/checkin命令

tag

t

可以执行tag/rtag命令,依赖读权限

创建

c

可以执行add import 命令

删除

d

可以执行rm命令

全部权限

a

可以执行所有cvs命令处理cvsacl管理命令

管理权限

p

可以执行所有命令

3. 命令参数

- R 进行目录递归

- r rev 设定版本/标签

- l列出已定义的ACLs权限

4. 特别注意

如果没有通过cvs -d racl指定用户或组对某个文件的权限,那么这个用户或组会对此目录具有最大权限(只受文件本身属性限制),因此在实际对CVS中的项目进行权限设置时,必须指定用户对每一个文件的权限。

展开阅读全文

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值