前边流水了cvs的安装及运行等简单配置http://qinshiqi.iteye.com/admin/blogs/2035529
这里在说明一下关于cvs用户及多库怎么处理
请先阅读上面的说明,然后这儿接上:
一、cvs用户管理
对于创建cvs访问用户,我们有两种选择,下面分别进行介绍。
1.直接创建系统用户
#useradd -g cvsg user1 创建系统用户并加入到cvsg用户组
#passwd user1 为用户添加密码
创建用户后即可以通过客户端工具登录访问cvs服务器
好处:基本没什么好处...如果硬要找几点就只能说:配置简单、省事。
坏处:如果是一个工作团队,20-100人或者更多,要为每个人单独创建系统用户,就算设置成默认不允许登录,都会造成系统资源消耗,增加管理难度,而且最重要一点就是这样的设置方法不够专业不够安全,如果cvs资源库是放在互联网,大量的系统用户就会成为无可避免的安全隐患,保密工作无从谈起。
2.新建的所有cvs访问用户都通过cvs管理用户登录
这种方法的本质就是当创建一个新的cvs用户时,并没有实际创建操作系统用户,而是通过加密验证的方法让新建的用户以cvsroot用户登录(即我们前面所创建的cvsnew用户),我们在新建第一个cvsroot所进行的chwon操作,将cvs资源库属主更改为cvsnew,目的就是让cvsnew用户对资源库中的所有文件具有操作权限,以便新用户可以通过cvsnew用户对资源库的全权访问。
初始化cvsroot后,在cvsroot目录里面有一个CVSROOT目录,该目录中有三个用户配置文件:passwd、writers、readers,我们可以通过这三个文件对用户的访问权限进行细分管理,下面详细介绍如何配合这三个文件对用户进行管理。
1)用户配置文件格式介绍:
passwd:cvs 用户的用户列表文件,它的格式很象/etc/passwd文件
[cvs用户名]:[加密口令]:[等效的系统用户]
readers:有cvs读权限的用户列表文件
一个简单的一维用户列表,一个用户名占一行,由上往下写就OK
writers:有cvs写权限的用户的列表文件
一个简单的一维用户列表,一个用户名占一行,由上往下写就OK
2)手动创建用户配置文件
刚刚安装完cvs服务这三个文件可能不存在,我们可以通过手动创建
#cd /usr/cvsapusic/CVSROOT 进入CVSROOT目录
#touch passwd writers readers 手动创建用户配置文件
#chmod 770 passwd writers readers 修改用户配置文件的权限和属性
3)新建一个cvs用户
#cd /usr/cvsapusic/CVSROOT 进入CVSROOT目录
#htpasswd passwd user1 通过对passwd文件加密验证的方式创建cvs用户
通过对passwd文件加密验证的方式创建cvs用户,如果没有安装htpasswd,请安装yum info httpd
(具体如何加密如何验证我们不需要关心,只需知道操作方法即可~~)
New password:xxx 输入新建用户密码
Re-type new password:xxx 确认密码
或者通过http://qinshiqi.iteye.com/admin/blogs/2036738 去生成密码
4)编辑用户
#cat passwd 查看用户列表文件
user1:.tW.1auR7dD/I 如例所示用户已经创建并加密
#vi passwd 编辑用户
user1:.tW.1auR7dD/I:cvsnew 在该用户密码后添加冒号以及cvsroot的等效系统用户
保存退出,至此便完成了cvs新用户的创建,可以通过客户端工具登录cvs服务器对cvs资源库进行访问。
5)删除用户
删除用户同样轻松,只需要编辑passwd文件,将要相应的用户条目删除后保存退出即可,这里就不多作介绍了。
6)给各cvs用户分配权限
如果新建用户后没有将该用户加入到writers或readers表,那么该用户默认拥有所有权限,包括check out、commit、delete。
例如想让user1只有读cvs资源库的权限,可以编辑readers表,加入user1
例如想让user2有读写cvs资源库的权限,可以编辑writers表,加入user2
#vi readers
user1
user3
user4
...
#vi writers
user2
user5
...
好处:操作十分简单,功能十分强大,这就是cvs服务器典型的用户管理配置方法,建议大家都选用这种方法。
坏处:多花一点时间
注:如果新建用户后没有将该用户加入到writers或readers表,那么该用户默认拥有所有权限,包括check out、commit、delete。我自己又测试了下发现以下几点:
1、passwd肯定是要有的,如果没有,用户就没有任何权限
2、readers感觉写不写用户都有read和checked权限
3、writers如果存在,用户只有只读权限,如果不存在,所有用户都有读写提交权限。
注:看 到这里,上面这些配置是一个工作区一个passwd,一个readers,writers,很多企业中,员工都是固定的,只是某些项目没有权限访问而已, 所以密码表可以共用一套密码,所以我们可以在/cvsroot/下建一个passwd的文件,然后在各个工作区下面建立passwd的快捷方式(一个链接 地址)
二、为cvs服务器建立多个源代码仓库
刚刚讲述了通过修改cvspserver来配置cvsroot的路径,但在软件公司会存在多个cvsroot的需求,要求每个资源库独立分开,互相不能访问,可以通过两种方法实现。
建立目录:
# mkdir -p /cvsroot/doc
# mkdir -p /cvsroot/source
授权
[root@localhost /]# chmod 775 -R /cvsroot/doc
[root@localhost /]# chmod 775 -R /cvsroot/source
[root@localhost /]# chown cvsroot:cvsg -R /cvsroot/doc
[root@localhost /]# chown cvsroot:cvsg -R /cvsroot/source
初始化
root@localhost /]# cvs -d /cvsroot/doc init
[root@localhost /]# cvs -d /cvsroot/source init
方式一、直接修改在/etc/xinetd.d/cvs文件(cvspserver)
[root@localhost CVSROOT]# cat /etc/xinetd.d/cvs
# default: off
# description: The CVS service can record the history of your source \
# files. CVS stores all the versions of a file in a single \
# file in a clever way that only stores the differences \
# between versions.
service cvspserver
{
disable = no
port = 2401
socket_type = stream
protocol = tcp
wait = no
user = root
passenv = PATH
server = /usr/bin/cvs
# env = HOME=/home/cvsroot
server_args = -f --allow-root=/home/cvsroot --allow-root=/cvsroot/doc --allow-root=/cvs/root/source pserver
# bind = 127.0.0.1
# only_from = 192.168.0.0/24
}
下面的参数可以根据需要添加
log_on_failure += USERID
only_from = 192.168.0.0/24
flags = REUSE
由上可见增加资源库路径实际上就是修改server_args项,前提个资源库的路径是存在的。
.重启xinetd服务进行验证
#service xinetd restart
方式二、cvs文件重定向
由于xinetd中的server_args长度有限制,我们可以进行以下操作对cvspserver文件进行重定向
service cvspserver { disable = no port = 2401 socket_type = stream protocol = tcp wait = no user = root passenv = PATH server = /cvsroot/cvs.run # server = /usr/bin/cvs # env = HOME=/home/cvsroot # server_args = -f --allow-root=/home/cvsroot --allow-root=/cvsroot/doc --allow-root=/cvs/root/source pserver # bind = 127.0.0.1 # only_from = 192.168.0.0/24 }
避免引起其他无法预料的出错,将原来的server、server_args、log_on_failure等配置项注释掉,新添加一行代码server = /cvsroot/cvs.run(路径随意)。
1)创建并编写cvs.run文件
#cd /usr/local/bin
#touch cvs.run
#chmod 770 cvs.run
cvs.run必须为可执行文件
手动编写cvs.run文件内容如下:
#vi cvs.run
#!/bin/bash
/usr/bin/cvs -f \
--allow-root=/home/cvsroot \
--allow-root=/cvsroot/source \
--allow-root=/cvsroot/doc \
pserver
可以在cvs.run文件中填写所有cvs源代码仓库路径,写完保存退出,这样cvs所有的资源路径就集中在一个文件管理。
[root@localhost cvsroot]# vi cvs.run
#!/bin/bash
/usr/bin/cvs -f \
--allow-root=/home/cvsroot \
--allow-root=/cvsroot/source \
--allow-root=/cvsroot/doc \
pserver
~
[root@localhost cvsroot]# service xinetd restart
Stopping xinetd: [ OK ]
Starting xinetd: [ OK ]
三、现在各个资源库的CVS用户管理是各自独立的,只有系统用户可以同时连接三个库。
这样就实现了资源库的相互独立
如果想用同一套用户管理文件,可以通过快捷方式
[root@localhost /]# cd cvsroot
[root@localhost cvsroot]# cd doc
[root@localhost doc]# cd CVSROOT
[root@localhost CVSROOT]# ln -s /home/cvsroot/CVSROOT/passwd passwd
[root@localhost CVSROOT]# ln -s /home/cvsroot/CVSROOT/passwd /cvsroot/source/CVSROOT/passwd
1 |
touch passwd writers readers
|
1 |
chmod 777 passwd writers readers
|
文件没有权限进行操作了
[root@localhost CVSROOT]# pwd
/cvsroot/source/CVSROOT
[root@localhost CVSROOT]# vi writers
yfeife
***********************************************
比较全面的一个文章,图文并茂
http://my.oschina.net/linjunlong/blog/120816
http://linjunlong.com/p/589.html
http://blog.csdn.net/lidongtang/article/details/8165574
相关推荐
在本文中,我们将一步一步地指导您如何在 CentOS 5 中安装和配置 CVS(Concurrent Versions System),并且介绍用户管理的相关知识。 安装 CVS 首先,我们需要安装 CVS 软件包。使用以下命令安装 CVS: ``` [root@...
基于CentOS 5.4版本,按照部署CVS服务,其他版本CentOS配置类似,其他LIUNX版本配置CVS需要稍加修改
### Linux下配置CVS服务器(CentOS 5.2) #### 测试环境 - **操作系统**: CentOS 5.2 - **Tomcat版本**: apache-tomcat-5.5.23 #### 步骤一:安装必要的组件 在CentOS 5.2环境下配置CVS服务器的第一步是确保必要...
在`/etc/xinetd.d/`目录下,复制并修改名为cvs的文件,将其重命名为cvspserver。在配置文件中,修改`disable = yes`为`disable = no`,并确保其他参数如端口、协议和服务器路径正确无误。 启动和测试CVS服务后,就...
CentOS5 用户组管理与应用 ppt
在CentOS 5.3系统下配置vsftpd(Very Secure FTP Daemon)以创建并管理新的FTP用户是一项关键的IT技能,尤其对于那些负责维护服务器和确保数据安全的专业人士而言。下面将详细介绍如何在CentOS 5.3环境中通过vsftpd...
CentOS下添加用户并且让用户获得root权限。添加具有root用户权限的用户。
Centos7下用户登录失败N次后锁定用户禁止登陆的操作方法
### Linux下的CVS配置规则及细节问题 #### CVS简介与安装 CVS(Concurrent Versions System)是一款在开源社区广泛使用的版本控制系统。它主要用于管理软件项目中的源代码变更历史,支持多用户协作开发,能够有效地...
在CentOS7操作系统中,有时我们需要为特定的用户设置严格的权限控制,比如只允许他们访问特定的目录和文件。在给定的场景中,我们希望为开发同事创建一个名为"loglook"的账户,该账户只能查看位于/home/wwwroot/a...
CentOS7系统管理与运维实战 CentOS7系统管理与运维实战
CentOS+CentOS 5系统管理=CentOS qq群:55434644
【CentOS Linux系统管理与运维】是一门深入探讨操作系统管理和维护的课程,主要针对CentOS这一流行的开源Linux发行版。CentOS是Community ENTerprise Operating System的缩写,以其稳定性和对企业级应用的支持而广受...
CentOS 7 磁盘和文件系统管理 在 CentOS 7 中,磁盘和文件系统管理是非常重要的系统管理任务之一。通过本篇文章,我们将详细介绍 CentOS 7 中的磁盘和文件系统管理,包括磁盘的分区、文件系统的创建、挂载和管理等...
在IT领域,CentOS是一个非常重要的操作系统,尤其在服务器管理中占据着主导地位。这个名为“CentOS系统管理--哈密瓜同学共享”的资源集合,很可能是为了教授和分享关于CentOS系统的管理和维护技巧。下面将详细介绍...
详细描述在centos6上安装部署docker及docker的一些常用的命令使用和讲解;也列出一些常见的问题,和解决问题的方法; 对docker容器的管理,制作镜像文件
Snipe-IT资产管理系统的主要功能包括资产管理、软件许可证管理、附件管理、报表管理、用户管理等。资产管理模块可以追踪谁拥有哪些笔记本电脑,何时购买、包含哪些软件许可证和可用的附件等。软件许可证管理模块可以...