Linux下的FTP服务器搭建

  1. 需要的安装包:
    vsftpd-2.0.5-12.el5.i386.rpm                 FTP主要安装包
    openssl-0.9.8e-7.el5.i686.rpm                认真服务安装包
    wireshark-1.0.3-4.el5_2.i386.rpm             端口流量抓包工具
  2. 主配置文档的配置
    vim /etc/vsftpd/vsftpd.conf

    Linux下FTP服务器的搭建_Linux

    Linux下FTP服务器的搭建_职场_02

    Linux下FTP服务器的搭建_休闲_03

    Linux下FTP服务器的搭建_休闲_04默认情况下,匿名用户的家目录在/var/ftp,我们先把FTP服务启动,用匿名用户登录。

    Linux下FTP服务器的搭建_FTP_05

    接着我们在本地创建用户,使用用户登录FTP

    Linux下FTP服务器的搭建_休闲_06

    由上可见,用户user1登录FTP后其家目录是在系统/home/user1,用user2登录的结果同上。

  3. 接下来修改配置文档/etc/vsftpd/vsftpd.conf,给匿名用户增加一些权限。

    Linux下FTP服务器的搭建_休闲_07修改匿名用户家目录下pub目录的权限chmod o+wt pub,然后进行访问。

    Linux下FTP服务器的搭建_Linux_08

  4. 接下来我们设置本地用户和匿名用户连接FTP的一些限制。

    Linux下FTP服务器的搭建_Linux_09测试结果如下:

    首先测试每个IP主机连接FTP的会话窗口数,如下:
  5. Linux下FTP服务器的搭建_FTP_10

    接着我们测试一次能够连接FTP的主机数,如下:

    Linux下FTP服务器的搭建_FTP_11

    测试匿名用户下载速率

    Linux下FTP服务器的搭建_休闲_12

    测试本地用户下载速率

    Linux下FTP服务器的搭建_Linux_13

    FTP服务器的安全访问

    1)证书的颁发。

    首先修改系统认证的配置文档

    [root@mail ~]# vim /etc/pki/tls/openssl.cnf

    Linux下FTP服务器的搭建_Linux_14

    系统证书的颁发

    [root@mail CA]# openssl genrsa 1024 >private/cakey.pem

    Linux下FTP服务器的搭建_Linux_15

     

    FTP服务器的证书的颁发
    [root@mail CA]# mkdir -pv /etc/ftp/certs
    mkdir: created directory `/etc/ftp'
    mkdir: created directory `/etc/ftp/certs'
    [root@mail CA]# cd /etc/ftp/certs/

    Linux下FTP服务器的搭建_职场_16

    [root@mail certs]# openssl ca -in vsftpd.csr -out vsftpd.crt

    [root@mail certs]# chmod 600 *
    修改ftp配置文档

    [root@mail certs]# vim /etc/vsftpd/vsftpd.conf

    Linux下FTP服务器的搭建_Linux_17

    由于我们对FTP进行了加密访问,而且命令行模式不支持ssl登陆,所以我们安装一个ftp客户端软件FlashFxp,建立站点,如下:

    Linux下FTP服务器的搭建_休闲_18

    出现下图,选择接受并保存就可以了。

    Linux下FTP服务器的搭建_Linux_19

    Linux下FTP服务器的搭建_FTP_20

    2)虚拟账户登陆FTP

    Linux下FTP服务器的搭建_Linux_21

    Linux下FTP服务器的搭建_职场_22

    [root@mail pam.d]# cd /etc/vsftpd/
    [root@mail vsftpd]# mkdir aaa
    [root@mail vsftpd]# vim aaa/zhangsan

    Linux下FTP服务器的搭建_FTP_23

    虚拟账户的访问规则
    还利用刚才那个FlashFxp进行测试,同时在系统本地开启端口抓包

    [root@mail etc]# tshark -ni eth0 -R "tcp.dstport eq 21"

    Linux下FTP服务器的搭建_FTP_24

    可以看到端口抓包只是显示了账户使用ssl登陆,账户信息和传输数据都没有抓到,由此实现了FTP的安全访问。

    Linux下FTP服务器的搭建_Linux_25

    至此,Linux下搭建FTP的简单配置算是完成了,当然企业中的FTP服务器比这更复杂,这个只是基础,仅供参考!