




已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
cvs的安全和访问方式cvs的安全和访问方式(版本v1.0.0)中软国际信息技术有限公司2020年3月20日第11页成文信息主题词:cvs的安全和访问方式作 者:icss产品部文档类别:实施规范审 核:批 准:文档性质:正式稿主 送:存档日期:2004-12-3抄 送:发布日期:签收信息发送方接收方:接收方:接收方:代表人:代表人:代表人:代表人:日期:日期:日期:日期:变更信息版本原因作者日期目录第一章 cvs的连接方式1第二章 Cvsweb的使用22.1 Cvsweb的安装配置22.2 Cvsweb访问安全3第三章 cvs备份43.1 使用cvslock锁定cvs repository43.2 使用tar命令备份53.3 使用rsync工具备份cvs53.3.1 概述53.3.2 备份方法5第四章 定期备份工具74.1 使用/etc/crontab74.2 使用at9第五章 文件夹权限设置105.1 Cvs的权限要求:105.2 用户权限分配的示例10第一章 cvs的连接方式 Pserver的连接方式: 1、配置cvs服务 2、重启xinetd 3、连接cvs服务器: cvs d :pserver:usercvs服务器地址:/cvshome/cvsroot login ssh的连接方式(传统口令): 1、测试是否安装ssh:rpm qa|grep ssh 2、检查sshd是否运行:ps aef|grep ssh 3、启动sshd:/etc/rc.d/init.d/sshd start 4、基于传统口令认证 #ssh l 在远程服务器上的帐号 远程服务器的主机名或ip地址 #yes #输入密码 5、连接cvs: #export CVS_RSH=ssh #exprot CVSROOT=:ext:cvs用户名cvs服务器地址:/cvshome/cvsroot ssh的连接方式(密钥):1、配置远程服务器编辑/etc/shh/sshd_config文件将PasswordAuthentication yes改为PasswordAuthentication no2、配置客户端在客户端生成密钥#cd #ssh-keygen t rsa (dsa)#/.ssh/id_rsa.pubid文件即是公钥发布公钥将生成的id_rsa.pubid文件复制到远程服务器的cvs用户目录下$cd .ssh$cat ./id_rsa.pubid authorized_keys3、连接cvs: #export CVS_RSH=ssh #exprot CVSROOT=:ext:cvs用户名cvs服务器地址:/cvshome/cvsroot第二章 Cvsweb的使用2.1 Cvsweb的安装配置1、 下载CVSWEB的tar包2、 解压缩tar: tar -zxf cvsweb-2.0.6.tar.gz.tgz 3、 将配置文件cvsweb.conf拷贝到/etc/httpd/cvsweb.conf4、 将cvsweb.cgi拷贝到可执行cgi的目录/var/www/cgi-bin下5、 修改:cvsweb.cgi让CGI找到配置文件:# = EDIT this =# Locations to search for user configuration, in order:for ($mydir/cvsweb.conf, /etc/httpd/cvsweb.conf) 6、修改cvsweb.conf: 修改CVSROOT路径设置: CVSrepositories = (local= Local Repository, /cvshome/project1)#=修改指向本地的CVSROOT2.2 Cvsweb访问安全为cvsweb添加用户身份验证功能。1、安装apache2、编辑/etc/httpd/conf/httpd.conf:添加 Alias/cgi-bin /var/www/cgi-bin OptionsIndexesMultiViews AllowOverrideAuthConfig#表示进行身份验证 Orderallow,deny Allowfromall #设置可以访问此服务器的ip 3、在/var/www/cgi-bin下创建.htaccess文件 #vi/var/www/cgi-bin/.htaccess添加如下内容:AuthNamecvs login #AuthName描述AuthTypeBasic AuthUserFile/var/www/cgi-bin/.htpasswd #apache默认系统对“.ht”开头的文件默认不允许外部读取requirevalid-user #requirevalid-user或者requireuserxxx限制是所有合法用户还是指定用户 4、就是创建apache的验证用户 htpasswd-c/var/www/cgi-bin/.thpasswd用户名 #第一次创建用户要用到-c参数第2次添加用户,就不用-c参数 5、修改密码htpasswd-m.htpasswdfrank 6、修改/cvsroot权限:chmod 775 /.6、 重启apache服务: /etc/init.d/httpd restart7、 访问http:/cvs服务器地址/cgi-bin/cvsweb.cgi,弹出用户验证窗口。第三章 cvs备份3.1 使用cvslock锁定cvs repository1、 下载cvslock.tar.gz包2、 安装cvslock:# tar zxvf cvslock.tar.gz#./config#make#make install3、 使用cvslock锁定要备份的repository。4、 Cvslock 参数:描述: cvslock -q -p pid -d CVS root -R|-W -u|-s|-c Command -l directoryOPTIONS -q 关闭cvslock,不发送任何诊断信息。-d 指定repository -p pid 指定进程号。 -s 使用用户的登录shell锁定cvs,退出shell时解除锁定。 -c Command 使用指定的shell 命令锁定 -u 解除锁定,和-p 命令配合使用。 -l 指定锁定的目录.5、 Cvslock使用示例: 示例1: # cvslock -d /cvshome/project test锁定/cvshome/project的module test # ls /cvshome/project/test #cvs.rfl.cvslock.localhost.27378 random.c,v查看被锁定的目录,可以看到cvs.rfl.cvslock.localhost.27378文件,其中27378代表进程号。 # cvslock -u -p 27378 -d /cvshome/project2 test解除锁定 # ls /cvshome/project/test random.c,v 用户锁定的文件被删除 示例二: # cvslock -s -d /cvshome/project test 示例三: # cvslock -c find . -name *cvslock* -d /cvshome/project2 l test3.2 使用tar命令备份将cvs相关内容,打成tar包备份保存。#tar-cvfbackup.tar/cvshome#gzip-qbackup.tar /cvshome3.3 使用rsync工具备份cvs3.3.1 概述rsyncremote sync是linux/unix系统下的数据镜像备份工具,它的特性如下:1、可以镜像保存整个目录树和文件系统。2、可以很容易做到保持原来文件的权限、时间、软硬链接等等。3、无须特殊权限即可安装。4、优化的流程,文件传输效率高。5、可以使用rcp、ssh等方式来传输文件,当然也可以通过直接的socket连接。6、支持匿名传输。3.3.2 备份方法1、 下载:rsync 版本 2.4.6 (下载地址:/rsync/获得最新版本)2、配置server端的/etc/rsyncd.conf文件内容如下:uid = nobody gid = nobody use chroot = no # 不使用chrootmax connections = 4 # 最大连接数为4pid file = /var/run/rsyncd.pid lock file = /var/run/rsync.locklog file = /var/log/rsyncd.log# 日志记录文件 cvshome# 这里是认证的模块名,在client端需要指定path = /cvshome# 需要做镜像的目录comment = cvs backup ignore errors# 可以忽略一些无关的IO错误read only = yes# 只读list = no# 不允许列文件auth users = backup# 认证的用户名/可选项secrets file = /etc/back.pas# 认证文件名/可选项3、可选操作:在server端生成一个密码文件/etc/back.pas# vi /etc/back.pasbackup:backup出于安全目的,文件的属性必需是只有属主可读。4、在server端将rsync以守护进程形式启动# rsync daemon5、可选操作:在启动时把服务起来: 加入inetd.conf编辑/etc/services,加入rsync 873/tcp,指定rsync的服务端口是873编加/etc/inetd.conf,加入rsyncstreamtcp nowaitroot/bin/rsync rsync -daemon6、从客户端进行测试普通备份方式:# rsync -vzrtopg -progress -delete 服务器ip地址:模块名 备份位置# rsync -vzrtopg -progress -delete 51:cvshome /backup使用ssh备份:# rsync e ssh -vzrtopg -progress -delete 51:cvshome /backup参数说明: v是verbose详细信息 z是压缩 r是recursive递归 topg都是保持文件原有属性如属主、时间的参数 -progress是显示出详细的进度情况 -delete是指服务器端删除了这一文件,客户端也相应把文件删除,保持一致 -e ssh的参数建 立起加密的连接 -password-file=/password/path/file来指定密码文件,保证可以在脚本中使用rsync而无需交互式地输入验证密码了,这里需要注意的是这份密码文件权限属性要设得只有属主可读。8、 备份脚本 脚本内容如下:#!/bin/shDATE=date +%wrsync -vzrtopg -progress -delete 51:cvshome /backup/$DATE /var/log/rsync.$DATE9、使用crontab/at定期执行脚本第四章 定期备份工具4.1 使用/etc/crontab 确认安装vixie-cron RPM 软件包:rpm -q vixie-cron 判定该服务运行状态:/sbin/service crond status 配置 cron 任务: cron 的主配置文件是 /etc/crontab,它包括下面几行:SHELL=/bin/bash#系统要使用哪个 shell 环境PATH=/sbin:/bin:/usr/sbin:/usr/bin #定义用来执行命令的路径MAILTO=root # cron 任务的输出被邮寄给此处定义的用户名HOME=/ #设置在执行命令或脚本时使用的主目录# run-parts01 * * * * root run-parts /etc/cron.hourly02 4 * * * root run-parts /etc/cron.daily22 4 * * 0 root run-parts /etc/cron.weekly42 4 1 * * root run-parts /etc/cron.monthly /etc/crontab e添加任务,相应更改被保存在/var/spool/cron/username :格式如下:minute hour day month dayofweek command minute 分钟,从 0 到 59 之间的任何整数 hour 小时,从 0 到 23 之间的任何整数 day 日期,从 1 到 31 之间的任何整数 month 月份,从 1 到 12 之间的任何整数 dayofweek 星期,从 0 到 7 之间的任何整数 command 要执行的命令 控制对 cron 的使用 /etc/cron.allow 和 /etc/cron.deny 文件被用来限制对 cron 的使用。 这两个使用控制文件的格式都是每行一个用户。 如果 cron.allow 文件存在,只有其中列出的用户才被允许使用 cron,并且 cron.deny 文件会被忽略。 如果 cron.allow 文件不存在,所有在 cron.deny 中列出的用户都被禁止使用 cron。 启动和停止服务启动:/sbin/service crond start 停止:/sbin/service crond stop 4.2 使用at 确认安装了at RPM 软件包: rpm -q at 判定该服务运行状态: /sbin/service atd status 配置 at 作业命令格式:at time 命令 参数:-f从文件中读取命令或 shell 脚本,而非在提示后指定它们-m在作业完成后,给用户发送电子邮件-v显示作业将被执行的时间time 参数格式: HH:MM 格式 譬如,04:00 代表 4:00AM。如果时间已过,它就会在第二天的这一时间执行。 midnight 代表 12:00AM。 noon 代表 12:00PM。 teatime 代表 4:00PM。 英文月名 日期 年份 格式 譬如,January 15 2002 代表 2002 年 1 月 15 日。年份可有可无。 MMDDYY、MM/DD/YY、或 MM.DD.YY 格式 譬如,011502 代表 2002 年 1 月 15 日。 now + 时间 时间以 minutes、hours、days、或 weeks 为单位。譬如,now + 5 days 代表命令应该在 5 天之后的此时此刻执行。配置步骤: 键入at 命令和它的时间参数 at 提示下键入要执行的命令,按 Enter 键。 键入 Ctrl-D 控制对 at 和 batch 的使用 /etc/at.allow 和 /etc/at.deny 文件可以用来限制对 at 和 batch 命令的使用。 这两个使用控制文件的格式都是每行一个用户。 如果 at.allow 文件存在,只有其中列出的用户才能使用 at 或 batch 命令,at.deny 文件会被忽略。 如果 at.allow 文件不存在,所有在 at.deny 文件中列出的用户都被禁止使用 at 和 batch 命令。 启动和停止服务启动:/sbin/service atd start 停止:/sbin/service atd stop第五章 文件夹权限设置5.1 Cvs的权限要求: 例如:仓库(/cvshome/project1) Cvs用户对/cvshome/project1/cvsroot及其中所有文件的读权限。 Cvs用户对/src/master/cvsroot/histroy文件的写权限。 Cvs用户对其需要修改模块目录的写权限。5.2 用户权限分配的示例一、用户情况设定有两个用户组:cvsadmin组合cvsuser组其中cvsadmin组中的用户,对于整个cvs服务器具有管理员权限。 cvsuser组中的用户,对整个cvs具有使用的权限,要根据所属项目的不同具体分配权限。二、仓库情况:每个不同项目对应不同的设定有两个仓库:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小儿脑炎课件
- 大一学生暑假社会实践报告
- 小儿结核病的护理
- 小儿用品安全培训课件
- 小儿支气管哮喘课件
- 南充市五星小学(将军学校校区)2025年公开考核招聘教师的(10人)考前自测高频考点模拟试题及参考答案详解
- 外聘人员合同协议模板模板
- 小儿推拿培训课件模板
- 公司亏损退款协议书模板
- 小儿护理课件
- 职业健康管理流程图
- 《系统架构-架构与设计》
- 农作物耕作栽培(甘蔗)-新植蔗栽培技术
- 大方县猫场镇硫磺矿渣综合治理工程环评报告
- Sony MD随身听的历史
- Foxconn连接器设计手册
- 学习解读《医疗保障基金使用监督管理条例》PPT课件(带内容)
- GB/T 13384-2008机电产品包装通用技术条件
- GB 11121-2006汽油机油
- 沙尔夫柴油机齿轨卡轨车课件
- 房产无抵押情况说明及承诺书
评论
0/150
提交评论