ftp服务器的配置
安装vsftpd-2.0.5-12.el5包
查看可配置文档
配置主配置文档
Vim /etc/vsftpd/vsftpd.conf
12行表示允许匿名帐号登陆
15行表示允许本地帐号登陆
在这里添加一行
表示可以在家目录里面有下载的权限
注意还要改写家目录的权限
Chmod o+wt pub/
19行也要打开
28行表示允许匿名帐号可以上传
32行表示匿名帐号可以有创建目录的权限
33行表示匿名帐号有修改的权限
53行表示日志存放的文件
56行表示如果要开始日志功能把NO改称YES
要看更详细的日志信息要插入一行
不过上面的56行要保持No的状态
86行一个说明信息表明你是一个什么样的ftp服务器
90,91表明可以用邮箱登陆并且把ftp信息发送至这个邮箱帐号
不建议开启这两行
97表示禁锢帐号登陆ftp的家目录
100行表示禁锢帐号存放的文件
119表示启用帐号登陆限制
在/etc/vsftpd/vsftpd.conf下面有个user_list文件里面存放要限制登陆的帐号
如果120行=YES那么表示对这个文件里的帐号进行限制登陆,如果=NO表示允许这个文件里的帐号进行登陆
121行表示一个简易的防火墙.,和他相关的两个文件
hosts.allow
hosts.deny
hosts.allow文件里面存放的是表示允许某主机可以登陆,如果这里面没有匹配那么和hosts.deny中的进行匹配如果匹配的上那么禁止这个主机登陆如果不匹配那么允许这个主机登陆
对
ftp
启用证书加密认证
以linux为颁发机构同时又是CA server
1:Cd /etc/pki/tls
Ll tls
可以看到
total 40
lrwxrwxrwx 1 root root
19 Aug 1 05:31 cert.pem -> certs/ca-bundle.crt
drwxr-xr-x 2 root root 4096 Aug 1 05:34 certs
drwxr-xr-x 2 root root 4096 Aug 1 05:31 misc
-rw-r--r-- 1 root root 9831 Aug 17 22:53 openssl.cnf
drwxr-xr-x 2 root root 4096 Aug 1 05:34 private
然后vim openssl.cnf
把45行改成
dir
= /etc/pki/CA # Where everything is kept
然后wq保存退出
2:接着生成证书的私钥
Cd /etc/pki/CA
用openssl工具生成
Openssl genrsa 1024 >private/cakey.pem
3:接着用私钥生成CA自己的证书
Openssl req –x509–new –key private/cakey.pem –out cacert.pem –days 3650
然后填写注册信息
4:用上面的这个CA为本linux站点颁发证书
创建一个文件夹专门存放呗颁发的证书文件
Mkdir /etc/vsftpd/certs
5:接着生成站点的证书钥匙
Cd /etc/vsftpd/certs
Openssl genrsa 1024 >vsftpd.key
6:为了安全起见更改这个文件的权限
Chmod 600 vsftpd.key
7:用这个密钥为站点颁发证书
Openssl req –new –key vsftpd.key –out vsftpd.csr
8:创建所需要的目录和文件(注意是在/etc/pki/CA)
Mkdir certs crl newcerts
Touch index.txt serial
9:给serial一个号码
Echo “01” >serial
然后填写注册信息注意一定要与前面的一直
10:由于本站点和跟CA都在这台linux上面所以不用传递申请了直接执行这条指令
Cd /etc/vsftpd/certs
Openssl ca –in vsftpd.csr –out vsftpd.crt
11.接着编辑ftp的主配置文件
Vim /etc/vsftpd/vsftpd.conf
在里面插入
ssl_enable=YES
表示启用证书认证
ssl_tlsv1=YES
证书认证支持版本1
ssl_sslv2=YES
证书认证支持版本2
ssl_sslv3=YES
证书认证支持版本3
force_local_logins_ssl=YES
对本地登陆采用ssl加密认证
force_local_data_ssl=YES
对本地数据采用ssl加密认证
rsa_cert_file=/etc/vsftpd/certs/vsftpd.crt
证书文件存放的路径
rsa_private_key_file=/etc/vsftpd/certs/vsftpd.key
证书钥匙存放的路径
12.接着重启vsftpd服务
Service vsftpd restart
13.测试,用tshark抓包工具试着抓包
安装tshark工具
yum install wireshark-1.0.3-4.el5_2.i386.rpm
启用抓包
Tshark –ni eth0 –R “tcp.dstport eq 21”
14.然后用第三方软件访问ftp,因为其他的浏览器不支持
FlashFXP-v4.0.1548
用虚拟帐号登陆
ftp(
不是本地的帐号
)
1:创建虚拟帐号文件viruser.txt
Cd /etc/vsftpd
Vim viruser.txt
里面插入帐号密码
2:安装一个生成帐号数据库的工具
Cd /mnt/cdrom/Server
Ll |grep db4
找到db4-4.3.29-9.fc6.i386.rpm和db4-utils-4.3.29-9.fc6.i386.rpm
然后用yum安装即可
3:生成帐号数据文件viruser.txt
在/etc/vsftpd目录下
db_load -T -t hash -f viruser.txt viruser.db
4:cd /etc/pam.d
Cp vsftpd vsftpd.viu
接着vim vsftpd.vu
修改结果如下
5:编辑ftp的主配置文档
Vim /etc/vsftpd/vsftpd.conf
里面插入
这里面的user3是系统的帐号做到了虚拟帐号和系统帐号对应
然后再修改这行
修改后
这样做过之后重启ftp服务,这是我们可以用zhangsan或者lisi这两个虚拟帐号访问了,不过我们的访问结果是可以成功登陆但是看不到ftp服务器里面的任何内容
6:所以我们现在还要做其它的
Vim /etc/vsftpd/vsftpd.conf
里面插入
user_config_dir=/etc/vsftpd/userdir
指名帐号的目录
然后我们去创建userdir目录
Cd /etc/vsftpd
Mkdir userdir
Cd userdir
Touch zhangsan
Touch lisi
Vim zhangsan或者lisi
在里面加入
说明匿名帐号有上传和创建文件的权限
7:修改匿名帐号的默认家目录的权限
Cd /var/ftp/
Chmod o+x pub
8:修改user3的家目录
Vim /etc/passwd
把
改成
9:最后可以成功访问