为什么80%的码农都做不了架构师?>>>   

CVSNT Manual

一、安装cvs

1. linux环境

#cat /etc/issue

Red Hat Linux release 9 (Shrike)

2. 以管理员root账号登录

3. 检查是否已装有cvs

#su - root

#rpm -qa | grep cvs

如果返回cvs-1.11.**,就说明已安装了cvs。

4. 卸载已安装的cvs

#rpm -e cvs-1.11.**

5. 安装cvs

下载cvsnt-2.5.03.2382-rh9-rpm.tar.gz到/root。

#cd /root

#tar zxvf cvsnt-2.5.03.2382-rh9-rpm.tar.gz

#rpm -ivh cvsnt-2.5.03.2382-1.i386.rpm

6. 创建cvsadmin账户

#groupadd cvsadmin

组名必须是“cvsadmin”

#useradd -g cvsadmin -s /bin/false -M cvsadmin

7. 创建配置管理员的系统账户

#groupadd wang

#useradd -g wang -s /bin/bash wang

#passwd wang

#vi /etc/group

内容如下

cvsadmin:x:500:wang

8. 创建RunAsUser账户

#groupadd cvs

#useradd -g cvs -s /bin/false -M cvs

9. 设置配置管理员的系统账户

#vi /etc/group

内容如下

cvs:x:502:wang

10. 修改cvs配置目录权限

#chmod a+rw -R /etc/cvsnt

11. 配置PServer

#cp /etc/cvsnt/PServer.example /etc/cvsnt/PServer

#vi /etc/cvsnt/PServer

修改如下内容

RunAsUser=cvs

12. 配置/etc/services文件

#vi /etc/services

增加如下2行

cvspserver 2401/tcp # cvs client/server operations

cvspserver 2401/udp # cvs client/server operations

13. 配置xinetd服务

#vi /etc/xinetd.d/cvsnt

修改如下内容

service cvspserver

{

disable = no

socket_type = stream

wait = no

user = root

server = /usr/bin/cvsnt

server_args = authserver

groups = yes

# flags           = REUSE IPv6 # 注释掉此行

mdns = no # Lockserver handles mdns broadcast

}

14. 重启xinetd服务

#/etc/init.d/xinetd restart

15. 检查cvspserver服务是否已经启动

#netstat -l |grep cvspserver

应该有如下结果

tcp 0 0 *:cvspserver *:* LISTEN

#telnet localhost 2401

看到“Connected to 127.0.0.1.”说明成功。

16. 配置lockserver服务

#chkconfig --list | grep cvslockd

如果没有cvslockd则执行下面命令

#chkconfig --add cvslockd

17. 检查lockserver服务

#telnet localhost 2402

看到“CVSLock 2.2 Ready”说明成功。

二、初始建库

1. 以管理员root账号登录

2. 建项目库

#mkdir -p /cvsdata/p1

#chmod 2770 /cvsdata/p1

#cvs -d /cvsdata/p1 init

#cd /cvsdata/p1/CVSROOT

#touch admin group

#chmod g+w admin group

#cd

#chown -R cvs:cvs /cvsdata/p1

3. 检查远程登录cvs服务器

#cvs -d :pserver:cvs@localhost:/cvsdata/p1 login

没有出现错误提示表示成功。

三、日常管理

1. 以管理员wang账号登录

2. 创建cvs用户的账号

使用linux系统帐号登录cvs不安全,而CVS提供了独立于系统的用户帐号管理,使用配置文件 CVSROOT/passwd来管理帐号。

$cvs -d /cvsdata/p1 passwd -a user1

$cvs -d /cvsdata/p1 passwd -a user2

$cvs -d /cvsdata/p1 passwd -a user4

$cvs -d /cvsdata/p1 passwd -a user5

$cvs -d /cvsdata/p1 passwd -a wang

3. 指定cvs管理员账号

$vi /cvsdata/p1/CVSROOT/admin

格式如下

wang

如果还想加入其他的用户作为管理员,依次加入用户名即可,每个用户名一行。

管理员用户必须是存在CVSROOT/passwd文件中的用户。

4. 创建cvs用户组

将权限相同的用户划分到一组,就是角色的意思,这样可以方便维护。

$vi /cvsdata/p1/CVSROOT/group

格式如下

group1: user1 user2

group2: user4 user5

组中的用户,要在passwd文件中存在。

注意“:”后有个空格。

管理员自动成为“admin”组的成员,group文件中没有显示“admin”组。

5. 设置初始权限

权限管理的基本原则是:如果不显示的指出否定权限,则赋予肯定权限。

对于新建立的Repository,目录没有设置权限,默认是所有人拥有所有目录的权限(CVSROOT除外),对目录有除了更改目录权限以外的全部权限。

任何情况下只有管理员才有权力更改目录的权限。

如果没有定义说明用户有哪些权限,默认的权限为all。

如果在一个用户在一个组中,在对一个文件设置权限时,如果同时有用户与组的权限声明,则以用户声明的为准。

如果一个用户需要访问一个目录,他必须至少有此目录的所有父目录的read权限。

CVS的目录及文件的权限说明会存放在仓库任意目录下的CVS/fileattr.xml文件中,命令无效时可以手工修改。

$cvs -d /cvsdata/p1 rchown -R admin .

$cvs -d /cvsdata/p1 rchacl -R -d .

$cvs -d /cvsdata/p1 rchacl -a read .

$cvs -d /cvsdata/p1 rchacl -a none CVSROOT

$cvs -d /cvsdata/p1 rchacl -u cvs -a none CVSROOT

6. 设置登录方式

$cvs -d :pserver:wang@localhost:/cvsdata/p1 co .

$vi CVSROOT/config

修改如下内容

SystemAuth=no

AclMode=normal

$cvs ci

即修改登录验证方式为CVSNT用户单一验证方式,以后只能用passwd中的用户登录cvs。

$rm -fr CVS*

7. 增加模块

一级目录只能由管理员建立。

$cvs -d :pserver:wang@localhost:/cvsdata/p1 co .

$mkdir module1

$mkdir module2

$cvs -d :pserver:wang@localhost:/cvsdata/p1 add module1

$cvs -d :pserver:wang@localhost:/cvsdata/p1 add module2

8. 设置模块权限

$cvs rchown -R admin module1

$cvs rchown -R admin module2

$cvs -d /cvsdata/p1 rchacl -a none module1

$cvs -d /cvsdata/p1 rchacl -a none module2

$cvs -d /cvsdata/p1 rchacl -u group1 -a all module1

$cvs -d /cvsdata/p1 rchacl -u group2 -a all module2

9. 增加cvs用户

$cvs -d /cvsdata/p1 passwd -a user2

10. 修改cvs用户的密码

$cvs -d /cvsdata/p1 passwd user2

11. 删除cvs用户

$cvs -d /cvsdata/p1 passwd -X user2

12. 修改cvs用户组

$vi /cvsdata/p1/CVSROOT/group

内容按需求修改即可。

四、更换配置管理员

1. 以管理员root账号登录

2. 创建配置管理员的系统账户

#groupadd sun

#useradd -g sun -s /bin/bash sun

#passwd sun

#vi /etc/group

内容如下

cvsadmin:x:500:wang,sun

3. 设置配置管理员的系统账户

#vi /etc/group

内容如下

cvs:x:502:sun

4. 创建cvs用户的账号

#cvs -d /cvsdata/p1 passwd -a sun

5. 设置cvs管理员账号

#vi /cvsdata/p1/CVSROOT/admin

格式如下

wang

sun

1. 检查cvs管理员用户登录

#su - sun

$cvs -d :pserver:sun@localhost:/cvsdata/p1 login

没有出现错误提示表示成功。

2. 检查cvs管理员账号是否有效

$cvs -d /cvsdata/p1 rchown -R admin .

没有出现错误提示表示成功。

转载于:https://my.oschina.net/tadcat/blog/150825

CVSNT Manual相关推荐

  1. SQL查询1064报错 [ERR] 1064 - You have an error in your SQL syntax; check the manual.......

    MySQL建表出现1064问题问题 SQL语句 DROP DATABASE IF EXISTS bookstore; DROP DATABASE bookstore; USE bookstore; C ...

  2. 解决:Error: Insufficient values in manual scale. 5 needed but only 4 provided.Run `rlang::last_error()

    解决:Error: Insufficient values in manual scale. 5 needed but only 4 provided.Run `rlang::last_error() ...

  3. SAP WM初阶LQ02报错 - Movement Type 901 for manual transfer orders does not exist -

    SAP WM初阶LQ02报错 - Movement Type 901 for manual transfer orders does not exist - SAP WM模块里的事务代码LQ02很有用 ...

  4. SAP QM 事务代码QE01录入结果后回车,为啥不弹出Manual Valuation窗口?

    SAP QM 事务代码QE01录入结果后回车,为啥不弹出Manual Valuation窗口? 执行事务代码QE01为检验批#10000000476录入结果, 录入检验结果后回车,没有弹出类似如下图的 ...

  5. GNU make manual 翻译(一)

    当分析PostgreSQL 的源代码的时候,经常遇到 Makefile, 读不懂其中的语句,很是令人烦恼.最近准备静下心来,好好地阅读. 为了达到这一目的,进行一次翻译. 复制代码 1 Overvie ...

  6. 测试类异常Manual close is not allowed over a Spring managed SqlSession

    测试类异常Manual close is not allowed over a Spring managed SqlSession 参考文章: (1)测试类异常Manual close is not ...

  7. Linux - 手册(manual)使用 详解

    手册(manual)使用 详解 本文地址: http://blog.csdn.net/caroline_wendy/article/details/22664555 环境: Ubuntu 12.04 ...

  8. php手册数组函数,PHP - Manual手册 - 函数参考 - Array 数组函数 - array_diff计算数组的差集...

    PHP - Manual手册 - 函数参考 - Array 数组函数 - array_diff计算数组的差集 array_diff (PHP 4 >= 4.0.1, PHP 5) array_d ...

  9. WinCVS与CVSNT简明使用手则

    1.前言: CVS是版本控制的利器,目前在Linux和Windows下都有不同版本:但是国内大多数应用介绍都是基于Linux等开放源代码的开放性软件组织,而且讲解的也不系统 ,让人摸不着头脑:Wind ...

最新文章

  1. 【正一专栏】中国足球不是你想不玩就不玩的
  2. 转载--tomcat整合apr
  3. 【数据结构与算法】之深入解析“我的日程安排表II”的求解思路与算法示例
  4. Python 模块之heapq
  5. 跳一跳python_微信跳一跳python怎么刷分?跳一跳python怎么使用?
  6. DEDE留言板调用导航的方法
  7. 哲学家就餐 linux实现_Linux哲学的9个主要原则如何影响您
  8. 快升级 iOS 10.3.1,修补了致命WiFi安全漏洞!
  9. 销售行业转行软件测试,这是我成功的感受...
  10. Web应用程序的目录结构
  11. android exoplayer 直播流,android – Exoplayer自适应hls流媒体
  12. ​LeetCode刷题实战248:中心对称数III
  13. mac 壁纸 android,可以用于任何设备的Android 12壁纸现在已可下载
  14. Run-Time Check Failure #3 - The variable 'p' is being used without being initialized.
  15. 【appium报错】Original error:Could not proxy command to remote server. Original error:socket hang up
  16. 这些渐行渐远的友情,你有过吗?
  17. Tomcat 2022-7-27
  18. NORDIC softDevice 蓝牙协议栈初始化程序分析(蓝牙从机,ble_peripheral)
  19. 基于wifi面向android的远程视频监控客户端开发,基于Wifi面向Android的远程视频监控客户端开发...
  20. 如何做一个简单的开放接口(1)-功能设计

热门文章

  1. linux运行 打开计算器,Linux 里头命令行打开计算机 怎么输入
  2. 20220212:力扣第277场周赛(下)
  3. 地图标识符号大全_创意游戏小程序大全:胡建土楼游戏!带你领略不一样的创意小游戏...
  4. sublime text3 选词及批量操作、设置书签快捷键、打开的插件view in browser
  5. redis服务端的maxclient和最大连接空闲时间设置
  6. VB 一个API方式存取日志文件的模块
  7. 英语总结系列(二十六):唠唠我的二月英语历程
  8. Ajax:前台利器—Ajax
  9. 去年每天入账25个亿,没错,我就是佩奇
  10. 18岁华裔准博士生,“杀死了”量子计算大进展