1.首先创建用于CVS的组和用户
groupadd cvs
useradd cvsroot -g cvs
2.配置文件
/etc/services
line 5801,5802:
cvspserver 2401/tcp # cvspserver
cvspserver 2401/udp # cvspserver
/etc/xinetd.d/cvs
server_args:
service cvspserver
{
# disable = yes
socket_type = stream
protocol = tcp
wait = no
user = root
server = /usr/bin/cvs
server_args = -f --allow-root=/cvsroot pserver
}
其中server指定CVS可执行文件路径,默认安装就是/usr/bin/cvs。server_args指定源代码库路径(/cvsroot)及认证方式(pserver)。据说每行等号左右都有一个空格,否则无法启动服务。
3.初始化cvs
cvs -d /cvsroot init
chown cvsroot:cvs /cvsroot
这个路径应该与/etc/xinetd.d/cvs文件中指定的路径相同,初始化后会在此路径下面创建CVSROOT目录,存放用于cvs管理的一些文件。此时重新启动xinetd服务,cvs服务器应该能够启动了。
service xinetd restart
确认是否启动:
netstat -l | grep cvspserver
如果能看到:
tcp 0 0 *:cvspserver *:* LISTEN
说明已经正常启动,没有的话请重新检查配置过程是否有错误或者遗漏。最后还必须检查防火墙的设置,把2401端口打开。
/etc/sysconfig/SuSEfirewall2
line 252:
FW_SERVICES_EXT_TCP="2401"
4.cvs用户管理
cvs默认使用系统用户登录,为了系统安全性的考虑也可以使用独立的用户管理。cvs用户名和密码保存在CVSROOT目录下的passwd文件中,格式为:
cvs用户名:密码:系统用户
也就是说,它把cvs用户映射到系统用户,这样我们就可以通过系统用户的权限设置来分配给用户不同的权限,而不需要让用户知道系统用户名和密码。passwd文件默认并不存在,我们必须自己创建。文件中的密码字段使用MD5加密,不幸的是cvs没有提供添加用户名的命令,所以我们借用apache 2的命令来完成这项工作:
htpasswd2 passwd username
这个命令为username指定密码,并保存在passwd中,文件不存在时请加参数“-c”来自动创建:
htpasswd2 -c passwd username
文件passwd的内容形式如下所示:
username:IM0iJXymHfG2k
把cvs用户名username映射到系统用户名cvsroot后,文件passwd内容形式如下所示:
username:IM0iJXymHfG2k:cvsroot
如果需要映射其他的用户,请注意给相应的目录(/cvsroot)设置好权限,否则cvs用户可能无法访问源代码仓库。
要彻底防止使用系统帐号登陆,可以编辑/cvsroot/CVSROOT目录下的config文件,把(第二行):
#SystemAuth=no
更改为:
SystemAuth=no
此外还必须配置cvs用户的读写权限,使用/cvsroot/CVSROOT目录下的readers和writers文件进行这个工作。这2个文件默认也是没有的,需自行创建。readers文件记录拥有只读权限的用户名,每行一个用户;writers文件记录拥有读写权限的用户名,也是每行一个用户。readers文件比writers优先,也就是说出现在readers中的用户将会是只读的,不管writers文件中是否存在该用户。配置完毕,先测试一下:
cvs -d :pserver:username@127.0.0.1:2401/cvsroot login
这里假设用户名是username,本机登陆。出现密码提示,输入正确的密码后,登陆成功。如果提示访问被拒绝,请检查用户权限、目录权限以及防火墙设置。一般建议设置环境变量CVSROOT:
export CVSROOT=:pserver:username@127.0.0.1:2401/cvsroot
以后就不需要输入-d参数了,但-d参数会覆盖这个环境变量的设置。
5.使用示例
导入一个已有的项目到cvs服务器(name_of_project是项目的名称,name_of_project_dir为项目的本地目录):
cd name_of_project_dir
cvs -d :pserver:username@127.0.0.1:2401/cvsroot import -m "Test of cvs." name_of_project vendor_tag release_tag
4 条评论:
I all the time usеd to rеaԁ pοst in nеws papers but nοw as
I am a uѕer of net therefore from nοw I аm using net fοr ρosts, thanks
to ωeb. raspberry ketone side effects - raspberry ketone - raspberry ketones
Ηeгe is my web sіte :: raspberry ketone scam
qzz0414
bengals jersey
new orleans saints jerseys
polo ralph lauren outlet
ralph lauren polo
oakley sunglasses
cheap ray bans
lions jerseys
nike outlet
christian louboutin shoes
cheap snapbacks
nike hyperdunk
vapormax
yeezy boost 700
yeezy boost 350 v2
new england patriots jersey
kd shoes
pure boost
converse shoes
nike air max 270
stephen curry 5
Le défi de la tâche à accomplir est généralement utilisé comme facteur de motivation pour surmonter les défis asics bleu et rose homme (Grazier 1998). Au cours d'un match contre Cleveland, la star a pu marquer 69 points en un seul match. Loctite GO2 Glue sèche le cristal distinct et il est excessif durable et flexible. Nike Shox Qualifier une autre société de sneaker célèbre. Les concepteurs ont une nouvelle couleur et un nouveau modèle d'expression pour l'Air Pressure 1 qui a une toute nouvelle âme. Donc, après que nous parlons de l'avantage de l'imagination créative, ce que nous disons est le fait qu'il est vraiment utile ou crucial que vous parvenez à assumer et à faire avec originalité et expressivité.L'avantage monétaire de la créativité Nike Shox Navina Mais je voudrais digress pour votre moment et discuter en ce qui Air Jordan 8 Chaussures concerne la valeur financière de la créativité, Nike Shox Navina sera également extrêmement important.
发表评论