CVS服务器配置要点

  • 为了方便管理,可为 cvs 专门建立现存于操作系统中的一个组和其中的若干用户。后面还需要建立只属于 cvs 服务的 virtual 用户,并将他们映射到已建立的系统用户上。通过设置文件与目录的不同权限,则可以对 cvs 服务的 virtual 用户进行不同访问权限的控制。
  • 由于 cvs 服务并不是采用 standalone模式始终在后台运行并监听端口,而是由 inetdxinetd守护进程来代劳。所以需要配置 /etc/services文件,将 cvs 服务的端口号(通常为2401)与服务名称关联起来,并配置 inetd.conf或在 /etc/xinetd.d/目录下生成相应的服务描述文件,指明 inetdxinetd以什么方式和参数来启动 cvs 程序,以及使用
    --allow-root=/path/to/your/repository/
    来指明
    cvs 服务需保存的所有
    repository。配置完成后需要重新启动
    inetd
    xinetd,使其读入
    cvs 新的配置。
    下面是各配置文件中相关的内容:

    # /etc/services
    cvspserver 2401/tcp
    cvspserver 2401/udp
    
    # /etc/inetd.conf
    cvspserver stream tcp nowait root /usr/local/bin/cvs cvs
        --allow-root=/usr/local/newrepository pserver
    
    # /etc/xinetd.d/cvspserver
    service cvspserver
     {
          socket_type = stream
          wait = no
          user = root
          env = HOME=
          server = /usr/bin/cvs
          server_args = --allow-root=/cvsroot/program --allow-root=/cvsroot/linuxconf
                      --allow-root=/cvsroot/official --allow-root=/cvsroot/pub pserver
     }
  • 根据 --allow-root=/path/to/your/repositary/中指定的路径,生成相应的目录作为 repository,然后使用 cvs init对每一个 repository初始化:
    cvs -d /path/to/your/repository init
  • repository初始化后,会在其目录下生成 CVSROOT子目录。然后,在 CVSROOT目录中创建 passwd文件,设置使用 cvs 的 virtual用户名、密码,及其所映射的操作系统用户:
        foo:blah-blah:cvsroot
        goo:blah-blah:cvsroot

    这里即将 cvs 的 virtual用户 foo 和 goo 映射为操作系统用户 cvsroot 。而 blah-blah 部分对应的是由下面的 Perl 脚本加密后生成的密码:

    #!/usr/bin/perl
    
        # Run me like this: crypt.pl "username"
        srand (time());
        my $randletter = "(int (rand (26)) + (int (rand (1) + .5) % 2 ? 65 : 97))";
        my $salt = sprintf ("%c%c", eval $randletter, eval $randletter);
        my $plaintext = shift;
        my $crypttext = crypt ($plaintext, $salt);
        print "${crypttext}\n";
  • CVSROOT目录中修改文件 cvswrapperscvsignorecvswrappers文件的目的是告诉 cvs 哪些文件是二进制文件,从而需要禁用 keyword expansionline-ending conversion 。而 cvsignore文件列出了哪些文件是需要忽略不参予 cvs 管理的,诸如 *.~ 、*.bak 等文件。下面分别给出这两个文件的内容:
    # cvswrappers
    *.gif -k ‘b‘
    *.jpg -k ‘b‘
    *.JPG -k ‘b‘
    *.dvi -k ‘b‘
    *.pdf -k ‘b‘
    *.doc -k ‘b‘
    *.eps -k ‘b‘
    *.caj -k ‘b‘
    *.ps -k ‘b‘
    *.exe -k ‘b‘
    *.com -k ‘b‘
    *.png -k ‘b‘
    *.bmp -k ‘b‘
    *.PNG -k ‘b‘
    *.BMP -k ‘b‘
    *.dia -k ‘b‘
    *.fig -k ‘b‘
    *.FIG -k ‘b‘
    *.mat -k ‘b‘
    *.MAT -k ‘b‘
    *.a -k ‘b‘
    
    #cvsignore
    _region_.tex
    *.log
    *.efmt
    _region_.prv
    *.out
    *.snm
    *.aux
    *.nav
    *.toc
    *.bbl
    *.blg
    *.mpo
    *.mpx
    *.tmp
    tmpgraph.tex
    relax.*
    #*#
    *.bak
    *.BAK
    *~
    *.asv
    *.d
    semantic.cache

    注意: 修改完 passwdcvswrapperscvsignore文件后,需将其权限设为 444 。

  • 实质上,上述方法设置user passwd已经不再适用了。正确的做法是,应该将被映设的系统用户信息条目从/etc/passwd中添加到/var/lib/cvsd/etc/passwd中。否则,就会出现”cvsd: no such system user”的错误。同时,应该该用户添加到cvsd组中,否则用户将没有权限访问repository。(事实证明,这么做也不行,只能将cvs虚拟用户映到cvsd上)
  • 最后,对生成的 repository及其所有子目录设置相应的用户与组权限。权限的设置可以通过设置文件与目录的操作系统级权限,也可以在 CVSROOT下建立 readerswriters文件,来控制 cvs virtual用户的访问权限。这两个文件中均是 cvs 虚拟用户名的列表,每行写一个用户名,且在文件末尾留一空白行。写在 readers文件中的用户只有 read-only权限,写在 writers中的用户同时拥有读写权限。若在 CVSROOT下存在 writers文件,则凡是未列入该文件的用户都只有 read-only权限。

CVS服务器配置要点,布布扣,bubuko.com

时间: 2024-10-20 23:13:34

CVS服务器配置要点的相关文章

H3C FTP服务器配置要点

 第一:开启FTP服务器 ftp server enable(系统模式) 第二:创建用户.密码并设置用户的服务类型为ftp (aaa模式) 第三:指定刚刚创建的用户的ftp路径ftp-directory (aaa模式) 举例说明:(环境:ENSP) 第一: [Huawei]ftp server enable Info: The FTP server is already enabled. 第二: [Huawei]aaa [Huawei-aaa]lo [Huawei-aaa]local-use

DNS解析实验

DNS服务 DNS:Domain Name Service 应用层协议C/S,53/udp, 53/tcpBIND:Bekerley Internat Name DomainISC (www.isc.org)本地名称解析配置文件:hosts/etc/hosts%WINDIR%/system32/drivers/etc/hosts93.46.8.89 www.google.com根域: .一级域名:Top Level Domain: tldcom, edu, mil, gov, net, org,

路由器/三层交换机DHCP服务器配置详述要点及实例

 DHCP采样UDP链接方式,服务器端口为67,客户机端口为68. 实验环境(H3C ENSP) 一.配置要点 a:在路由器上配置DHCPserver 第一步:(系统视图)开启DHCP :DHCP enable 第二步:(进入接口视图)为与客户端相连的端口配置ip地址 第三步:(系统视图)建立DHCP地址池 :ip pool aaa 第四步:(pool模式下)配置network网段.Gateway-list网关. dns-list DNS服务器地址.excluded-ip-address需要

openwrt web管理页面 LuCI 要点

在uHTTPd上安装LuCI 这是安装Web用户界面LuCI的要点.运行"opkg update && opkg list luci-*"命令查找所有可用的能通过LuCI管理OpenWrt的软件包. 安装 在软件库中检索可用软件包的最新列表: opkg update ? 完整安装一个不需要HTTPS支持的LuCI: opkg install luci ? 完整安装一个需要HTTPS支持的LuCI: opkg install luci-ssl OPKG 安装 luci本地

javascript必须知道的知识要点(二)

该文章不详细叙述各知识要点的具体内容,仅把要点列出来,供大家学习的时候参照,或者检测自己是否熟练掌握了javascript,清楚各个部分的内容. 内建对象可划分为数据封装类对象.工具类对象.错误类对象,如下. 数据封装类对象: Number对象 String对象 Boolean对象 Array对象 Object Function 工具类对象: Math对象 Date对象 RegExp对象 错误类对象: Error对象  Number对象 JavaScript 只有一种数字类型.Number,包括

ZooKeeper架构设计及其应用要点

ZooKeeper是一个开源的分布式服务框架,它是Apache Hadoop项目的一个子项目,主要用来解决分布式应用场景中存在的一些问题,如:统一命名服务.状态同步服务.集群管理.分布式应用配置管理等,它支持Standalone模式和分布式模式,在分布式模式下,能够为分布式应用提供高性能和可靠地协调服务,而且使用ZooKeeper可以大大简化分布式协调服务的实现,为开发分布式应用极大地降低了成本. 总体架构 ZooKeeper分布式协调服务框架的总体架构,如图所示: ZooKeeper集群由一组

XHTML学习要点

目标 掌握XHTML语法,能正确书写出符合规则的文档. 要点 基本概念,与HTML有什么不一样 基本语法规则: XHTML 文档必须拥有一个根元素 标签名.属性名称必须小写 属性值必须加引号 属性不能简写 !DOCTYPE不可缺少 不允许空标签,<hr> , <br> 和 <img>应被替换为<hr />, <br /> 和 <img />. 除!DOCTYPE外,其他标签必须要被关闭. 非空标签必须使用结束标签. 空标签也必须被关闭

如何编写更棒的代码:11个核心要点

作为一个合格的程序员,有太多的理由促使你去编写干净利落且可读性强的代码.最重要的是因为你编写的代码,将来会有很多人一次次地阅读.当你有一天回过头来看自己的代码时,你就会明白编写优雅的代码是多么的重要.另外,如果别人来阅读你编写的代码,你是否想知道别人看到那些烂代码无比抓狂的感受.因此,花多一点的时间去编写优雅的代码,将来说不定会给你节省更多的时间. 那么,如何编写更棒的代码,下面是11条基本规则: 1.保持方法简短扼要 2.永远永远不要将同一个变量用于不同的目的 3.尽可能让变量和方法的名称能够

CVS导出&amp;&amp;自定义Attribute的使用

1.cvs导出:List转为byte[] /// <summary> /// CvsExport帮助类 /// </summary> public static class CvsExportHelper { /// <summary> /// Creates the CSV from a generic list. /// </summary>; /// <typeparam name="T"></typeparam&