1、首先在计算机上进行安装ssh_scan工具,通过三种方式可以进行安装,第一种采用Ruby gem工具进行安装,输入安装执行命令就可以进行安装。
2、接着第二种采用docker容器进行运行安装,容器在很多经验中已经简单介绍过了,第三种方法就是采用最原始的代码进行安装运行。
3、然后安装成功之后进行调试,是否安装成功,进行扫描服务器的SSH配置和策略,同时进行展示给-T选项传入的一个IP地址。
4、接着使用-p选项来指定不同的端口,-L选项来开启日志记录配合-V选项来指定日志级别,进行使用SSH配置和策略。
5、而后可以使用-P选项或--policy选项来指定一个策略文件,在这里默认是Mozilla Modern头文件,指定进行输出显示文件。
CVS使用速成配置一 CVS服务器的安装:
1。查看你的操作系统上是否安装了CVS:
#>rpm -qa|grep cvs
如果没有安装你可以在Redhat 第2张光盘上找到,另外你也可以在网上下载到最新的rpm包。很容易找,其实不存在什么linux版本。
2。建立cvs用户组:
#>groupadd cvs
3。建立cvs组的cvsroot用户和所属的目录:
#>useradd -g cvs -G cvs –d /cvsroot cvsroot
4。为cvsroot用户添加密码:
#>passwd cvsroot
5。改变 /cvsroot/ 的目录属性:
#>chmod –R 770 /cvsroot
6。改变用户登陆身份:
#>su cvsroot
7。开始创建单个项目:
#>cd /cvsroot
#>mkdir project1
#>mkdir project2
8。开始建立仓库:
#>cvs –d /cvsroot/project1 init
#>cvs –d /cvsroot/project2 init
#>chmod –R 770 ./project1/ ./project2/
9。建立CVS服务启动文件,我们使用xinetd方式:
#>[Crtl]+[d] 切换到root用户身份
#>cd /etc/xinetd.d
#>vi cvspserver
service cvspserver
{
disable = no
flags = REUSE
socket_type = stream
wait = no
user = root
server= /usr/bin/cvs
server_args= -f --allow-root=/home2/cvsroot/project1 --allow-root=/home2/cvsroot/project2 pserver log_on_failure += USERID
}
注:由于xinetd的server_args长度限制,当你想运行很多的单个仓库的时候,可以这么做:
#>vi cvspserver
service cvspserver
{
disable = no
flags = REUSE
socket_type = stream
wait = no
user = root
server = /cvsroot/cvs.run
log_on_failure += USERID
}
编写cvs.run脚本
#>vi /cvsroot/cvs.run
#!/bin/bash
/usr/bin/cvs -f
--allow-root=/cvsroot/project1
--allow-root=/cvsroot/project2
pserver
#>chmod +x /cvsroot/cvs.run
10。加入cvs服务:
#>vi /etc/services
cvspserver 2401/tcp #pserver cvs service
cvspserver 2401/udp #pserver cvs service
11。启动cvs服务:
#>/etc/init.d/xinetd restart
12。检查cvspserver服务是否已经启动:
#>netstat -l |grep cvspserver
应该有如下结果:
tcp 0 0 *:cvspserver *:* LISTEN
二。CVS服务的用户管理:
上面我们已经建立了project1和project2两个CVS仓库,下面我们分别给两个仓库建立cvs用户。
13。创建可以登陆cvs服务器的用户名和密码:
#>su cvsroot
#>vi /cvsroot/project1/CVSROOT/passwd
trotter:*****:cvsroot
mimi:*****:cvsroot
#>vi /cvsroot/project2/CVSROOT/passwd
trotter:*****:cvsroot
gary:*****:cvsroot
这两个文件的意思是有trotter,mimi,gary三个cvs用户,mimi拥有project1的使用权限,gary拥有project2的使用权限,trotter拥有project1和project2的使用权限。登陆后的权限是cvsroot权限。
注意:这里的cvs用户和系统用户是不同的。
14。*****为密码,由以下文件生成:
#>vi /cvsroot/passwd.pl
#!/usr/bin/perl
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}
"
#>chmod a+x /cvsroot/passwd.pl
15。如果你想生成一个密码是“123456”,则:
#>/cvsroot/passwd.pl “123456”
回车即可得到加密密码,用其替换passwd文件中的*****
16。Ok,cvs现在已经全部安装完成了,如果你想让一个用户拥有project1的权限,你就在 /cvsroot/project1/CVSROOT/passwd中给他加入一个用户;如果你想让一个用户同时具有project1和project2 的权限,你就给/cvsroot/project1/CVSROOT/passwd和/cvsroot/project2/CVSROOT/passwd 里给他加一个用户名和密码相同的用户即可。最后,我们试用一下:
#>cvs -d :pserver:trotter@192.168.1.200:/cvsroot/project1 login
敲入命令回车后提示输入trotter的密码,你按照自己设置的密码输入,如果没有什么错误信息出现就是成功了(我的机器IP地址是192.168.1.200)
***CVS服务器建立和权限配置
建立一个源代码库主要有以下几步:
(1)初始化cvs服务器环境。
#cvs -d/usr/local/source init
之后进入/usr/local/source,可以看到有一个目录CVSROOT, 下面是初始化后的CVS服务器配置文件。暂且保持不动。
(2)把cvs服务放到xinetd系统服务中。
首先在/etc/xinetd.d目录下生成任务配置文件cvspserver,文件名称可以随便用。
其中内容大致如下:
service cvspserver
{
flags = REUSE
socket_type = stream
wait= no
user= root
protocol= tcp
server = /usr/bin/cvs
server_args = -f --allow-root=/usr/local/source pserver
disable = no
}
其中server_args一个参数指定了源代码库路径,一个指定了服务器使用密码认证方式。
第二,要确认/etc/services文件中,有cvspserver关键词,并分配了端口,如:cvspserver 2401/tcp。
第三,重新启动xinetd服务,cvs服务就可以用了。
(3)测试。假定cvs服务器在192.168.0.205上,系统上有一个用户cvs。登陆另一台linxu机器,执行下列命令可以完成测试:
$export CVSROOT=:pserver:cvs@192.168.0.205:2401/usr/local/source
$cvs login
输入密码,没有出错提示表示登陆成功。
如果想在一个linux系统上建多个源代码库,分别提供cvs服务。重复上面步骤就可以了。
第一步时候要注意使用一个不同路径。
第二步放到xinetd系统服务中稍微麻烦点。/etc/xinetd.d目录下要生成一个新的任务配置文件,例如cvspserver1,文件中service名称一定要区分第一个,例如service cvspserver1,server_args做相应变动。还要在/etc/services文件中,加入新的服务端口号,例如: cvspserver1 2402/tcp。重新启动xinetd服务.
第三步测试时候,可以这样设定:
$export CVSROOT=:pserver:cvs@192.168.0.205:2402/usr/local/source1
cvs作为并行版本控制系统,多用户读写是需要的。但有时候希望有些用户只能check out,不能提交新代码。有时希望cvs上的某些用户不能check out一些代码,例如和另一个开发组共用一个CVS,希望另一个组的成员不能check out自己组代码。
cvs服务器有一套自己的用户认证机制,我使用时候没采用,而是使用了系统上用户直接作为cvs服务器用户,采用linux组、用户权限实现了这样的功能。
举例说明,在linxu系统上模拟实际两个开发组a、b,分别有用户a-user1,a-user2,b-user1,b-user2。
模块a-source,希望a组成员都可以读写,b组成员没有任何权限。可以使用以下系列命令:
#chown -R a-user1 a-source
#chgrp -R a a-source
#chmod -R 770 a-source
如果希望模块a-source,只有a-user1可以写,同组其它用户可以读,b组成员没有任何权限,把chmod命令改成-R 750就行了。
必须说明的,cvs中默认一个用户checkout代码时候,会在当前模块下生成一个锁文件,如果这个用户对当前模块没有写权限,读是不可能的。配合上面的权限设置,必须改一下cvs服务器配置。改成不在当前模块目录下生成锁文件,把锁文件集中到一个所有用户都有读写权限的目录。修改配置文件CVSROOT/config:
# Put CVS lock files in this directory rather than directly in the repository.
#LockDir=/var/lock/cvs
把LockDir设上就可以了。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)