ftp服务器的配置

安装vsftpd-2.0.5-12.el5包

查看可配置文档

 

ftp服务器配置_第1张图片 

 

 

配置主配置文档
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信息发送至这个邮箱帐号
不建议开启这两行

 

ftp服务器配置_第2张图片 

 

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
里面插入帐号密码

ftp服务器配置_第3张图片 

2:安装一个生成帐号数据库的工具

Cd /mnt/cdrom/Server

Ll |grep db4

找到db4-4.3.29-9.fc6.i386.rpmdb4-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:最后可以成功访问