在bsd 下使用 cvsd 创建安全的 cvs 服务器

发表于:2007-05-26来源:作者:点击数: 标签:
在bsd下使用cvsd创建 安全 的cvs 服务器 本文除基本软件安装外,其它部分也适用于 linux 或其它 unix 系统。 1.下载及安装 cvsd http://tiefighter.et.tudelft.nl/~arthur/cvsd/ cvs http://www.cvshome.org 或者 直接使用ports安装cvsd,位于/usr/ports/deve

在bsd 下使用 cvsd 创建安全的 cvs 服务器

本文除基本软件安装外,其它部分也适用于linux或其它unix 系统。

1. 下载及安装

cvsd 

http://tiefighter.et.tudelft.nl/~arthur/cvsd/

cvs
http://www.cvshome.org



或者

直接使用ports 安装cvsd,位于 /usr/ports/devel/cvsd
直接使用ports 安装cvs,位于 /usr/ports/devel/cvs+ipv6

创建 cvsd 用户。




2. 修改配置

指定虚拟根目录的实际路径,在RootJail命令后设置
/usr/local/etc/cvsd/cvsd.conf

# RootJail <path>
#  This is the location of the chroot jail
#  cvs should be run in.
#  Specify 'none' (without quotes) to not use
#  a chroot jail.
#  This directory should be initialized with
#  the cvsd-buildroot script.
RootJail /home/soft/cvsd

创建 /home/soft/cvsd,
使用命令行 /usr/local/sbin/cvsd-buildroot /home/soft/cvsd/  初始化虚根目录



创建cvsroot 目录 : mkdir  /home/soft/cvsd/cvsroot

用命令 cvs -d /home/soft/cvsd/cvsroot init  初始化cvs目录

用命令建立cvs用户:
cvsd-passwd /home/soft/cvsd/cvsroot/ +cvsuser:cvsd
上面的命令建立cvsuer 这个帐号,它和系统的 cvsd用户挂接。注意,cvsd是操作系统的用户名,是第一步操作中建立的。
你还可以使用该命令建立其它帐号.

将cvsroot 加入/usr/local/etc/cvsd/cvsd.conf的最后一行,如下面
Repos /cvsroot

此句指明要使用虚拟根下的 "cvsroot" 这个仓库。


3 设置启动脚本
修改/usr/local/etc/rc.d/cvsd.sh.sample 为 /usr/local/etc/rc.d/cvsd.sh

设置执行属性: chmod +x /usr/local/etc/rc.d/cvsd.sh






4.注意事项

cvsd只是cvs的一个外壳程序,将cvs运行在虚拟根环境下,提高系统的安全性。你在安装cvsd后还必须安装cvs程序。


不要跨分区建立仓库,否则会提示找不到用户.
我的/home 和/ 是两个不同的分区.我开始在home下创建仓库,在var下创建虚根目录,作了符号链接后不能读取文件.



声明:

转载此文请保留此声明信息。

驱动开发网 华语地区核心层开发专业网站 http://www.driverdevelop.com

软件创造价值,驱动提供力量!

 醉春风 回复于:2004-06-27 08:22:56
[quote:b5235e4f3a="znsoft"]不要跨分区建立仓库,否则会提示找不到用户. 
 我的/home 和/ 是两个不同的分区.我开始在home下创建仓库,在var下创建虚根目录,作了符号链接后不能读取文件. [/quote:b5235e4f3a]

这个用mount_nullfs /home/xxx/xxx /var/lib/cvsd/xxx 就行了... ...

 znsoft 回复于:2004-06-28 17:10:03
谢谢。

 醉春风 回复于:2004-06-28 18:09:01
不谢,写得挺好。。。

 zliming 回复于:2004-06-28 22:45:30
CVSNT可以用NTFS控制好一些 *NIX下面有人用SCM LDAP+CVS不过都不是很理想,请教有没有人重写过的CVS,可以用小型数据库保存用户和权限的版本?

 醉春风 回复于:2004-06-28 23:58:01
[quote:3903214d5e="zliming"]CVSNT可以用NTFS控制好一些 *NIX下面有人用SCM LDAP+CVS不过都不是很理想,请教有没有人重写过的CVS,可以用小型数据库保存用户和权限的版本?[/quote:3903214d5e]

好像不用这么复杂的,去看看[url=http://www.freebsd.org/doc/en_US.ISO8859-1/articles/cvs-freebsd/]Setting up a CVS repository - the FreeBSD way[/url]就能有简单的用户权限
还有commit mail和自己定义的tag... ...

 quakelee 回复于:2004-06-29 13:15:14
我还以为是cvsd over ssh呢…………

 zliming 回复于:2004-06-29 13:38:28
[quote:25f60fa1d2="醉春风"]苡屑虻サ挠没?ㄏ?还有commit mail和自己定义的tag... ...[/quote:25f60fa1d2]
我的权限要分的很细的,一个目录下面和这个目录下的目录权限组要不同.现在是passwd里面映射到系统用户控制权限的.但一个用户最多只有在17个组,对我们的要求还不能很好实现,要分的太细了. :em06:

 zliming 回复于:2004-06-29 13:41:15
[quote:a61e609806="quakelee"]我还以为是cvsd over ssh呢…………[/quote:a61e609806]
用SSH(ext)因为我们在内网的不是很重视安全,并面SSH对服务器性能要求要高一些,系统用户多了不太好管理.

 yanyp 回复于:2004-06-29 14:17:35
这两天刚配好cvs服务器,
不过是redhat9.0+cvs,client端是windows+wincvs,cvs的功能真是强大哦

 zliming 回复于:2004-06-29 14:20:33
[quote:42clearcase/" target="_blank" >cc185808="yanyp"]这两天刚配好cvs服务器,
不过是redhat9.0+cvs,client端是windows+wincvs,cvs的功能真是强大哦[/quote:42cc185808]
wincvs感觉有一些BUG,建议用 TortoiseCVS. :em09: 很好用的

 醉春风 回复于:2004-06-29 15:08:00
[quote:3d4dbca155="zliming"]
我的权限要分的很细的,一个目录下面和这个目录下的目录权限组要不同.现在是passwd里面映射到系统用户控制权限的.但一个用户最多只有在17个组,对我们的要求还不能很好实现,要分的太细了. :em06:[/quote:3d4dbca155]

偶是在avail里面划分的,看看上面提到的那个cvs_acls.pl
[code:1:3d4dbca155]
# Example:  (Text from the ';;' rightward may not appear in the file.)
#
# unavail ;; Make whole repository unavailable.
# avail|dgg ;; Except for user "dgg".
# avail|fred, john|bin/ls ;; Except when "fred" or "john" commit to
# ;; the module whose repository is "bin/ls"
[/code:1:3d4dbca155]

 醉春风 回复于:2004-06-29 15:11:11
[quote:85952775be="quakelee"]我还以为是cvsd over ssh呢…………[/quote:85952775be]

老大有什么好注意,偶跑了一个jail, 所有的系统用户都是jaill里面的。。。 .。。

 dennis2 回复于:2004-06-29 16:09:14
[quote:ad0d95b35b="zliming"]
我的权限要分的很细的,一个目录下面和这个目录下的目录权限组要不同.现在是passwd里面映射到系统用户控制权限的.但一个用户最多只有在17个组,对我们的要求还不能很好实现,要分的太细了. :em06:[/quote:ad0d95b35b]

那还是用 subversion 吧,权限可以分得很细。

 zliming 回复于:2004-07-02 02:28:13
[quote:4e15b5cfd8="dennis2"]

那还是用 subversion 吧,权限可以分得很细。[/quote:4e15b5cfd8]
这个刚出来的,我试一段时间看看。不敢正版使用。
是在说的perl脚本,看了一下好像比passwd好不了多少的。只要对应到系统用户的.控制系统用户权限感受不能细分.

 黑夜编码人 回复于:2004-07-02 10:15:18
写得很不错,是否愿意发布到《[url=http://www.cnfug.org/journal]CNFUG期刊[/url]》中呢?

《CNFUG期刊》请见:[url]http://www.cnfug.org/journal[/url]

原文转自:http://www.ltesting.net