设为首页 收藏本站
查看: 930|回复: 0

[经验分享] Centos下的CVS的用户管理及多库管理

[复制链接]

尚未签到

发表于 2016-5-14 00:58:21 | 显示全部楼层 |阅读模式
  前边流水了cvs的安装及运行等简单配置http://qinshiqi.iyunv.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.iyunv.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的需求,要求每个资源库独立分开,互相不能访问,可以通过两种方法实现。
  

写建立其他的资源库道

假设只有一个库/home/cvsroot,现在增加 两个/cvsroot/doc /cvsroot/source

建立目录:
# mkdir -p /cvsroot/doc
# mkdir -p /cvsroot/source
授权
[iyunv@localhost /]# chmod 775 -R /cvsroot/doc
[iyunv@localhost /]# chmod 775 -R /cvsroot/source
[iyunv@localhost /]# chown cvsroot:cvsg -R /cvsroot/doc
[iyunv@localhost /]# chown cvsroot:cvsg -R /cvsroot/source
初始化
root@localhost /]# cvs -d /cvsroot/doc init
[iyunv@localhost /]# cvs -d /cvsroot/source init
  
  
  方式一、直接修改在/etc/xinetd.d/cvs文件(cvspserver)
  [iyunv@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所有的资源路径就集中在一个文件管理。


[iyunv@localhost cvsroot]# vi cvs.run

#!/bin/bash
/usr/bin/cvs -f \
--allow-root=/home/cvsroot \
--allow-root=/cvsroot/source \
--allow-root=/cvsroot/doc \
pserver
~



  [iyunv@localhost cvsroot]# service xinetd restart
Stopping xinetd: [  OK  ]
Starting xinetd: [  OK  ]
  
  
  三、现在各个资源库的CVS用户管理是各自独立的,只有系统用户可以同时连接三个库。
  这样就实现了资源库的相互独立
  如果想用同一套用户管理文件,可以通过快捷方式


注:看 到这里,上面这些配置是一个工作区一个passwd,一个readers,writers,很多企业中,员工都是固定的,只是某些项目没有权限访问而已, 所以密码表可以共用一套密码,所以我们可以在/cvsroot/下建一个passwd的文件,然后在各个工作区下面建立passwd的快捷方式(一个链接 地址)
  

写道


[iyunv@localhost /]# cd cvsroot
[iyunv@localhost cvsroot]# cd doc
[iyunv@localhost doc]# cd CVSROOT
[iyunv@localhost CVSROOT]# ln -s /home/cvsroot/CVSROOT/passwd  passwd
[iyunv@localhost CVSROOT]# ln -s /home/cvsroot/CVSROOT/passwd  /cvsroot/source/CVSROOT/passwd


 

发现不重新,也起作用了

手动创建用户配置文件
1
touch passwd writers readers







修改用户配置文件的权限和属性
1
chmod 777 passwd writers readers


  文件没有权限进行操作了

写道

增加下面的内容,可以读写了

[iyunv@localhost CVSROOT]# pwd
/cvsroot/source/CVSROOT
[iyunv@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

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-216616-1-1.html 上篇帖子: centos 6.3 64位下安装mysql5.5.36 下篇帖子: centos nginx环境下删除CI框架Index.php入口遇到404问题
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表