FTP 是目前INTERNET上流行的数据传送方式之一,利用FTP我们可以在FTP和服务器之间进行双向数据传输,而不必考虑操作系统的差异.

     一  安装FTP   

      对于Linux系统来说vsftpd是一个比较不错的选择 . 首先确保系统中已经安装了vsftpd软件    可用

[[email protected] ~]# rpm -qa |grep vsftpd
vsftpd-2.0.5-12.el5                                            提示已经安装了
如果没有安装 可挂载光盘 进行安装   .同样的我们也可以选择安装rpm包,或者是源码包

[[email protected] ~]# /usr/sbin/vsftpd start            开启FTP服务 
[[email protected] ~]# ftp 127.0.0.1                      进入FTP
Connected to 127.0.0.1.
Name (127.0.0.1:root): anonymous                     以匿名用户登陆
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> help                                                            键入help 打开命令帮助

       二  FTP相关文件说明

其相关配置文件有/etc/vsftpd/vsftpd.conf,  /etc/vsftpd.ftpusers,  /etc/vsftpd.user_list,在配置FTP服务器时,主要是修改这些文件中的相关语句.

 

1   vsftpd.conf

 

2.vsftpd.ftpusers文件说明

这个文件是用来记录"不允许"登录到FTP服务器的用户 (每个用户独占一行)

root

bin

daemon

adm

lp

sync

shutdown

halt

3.vsftpd.user_list文件说明

userlist_deny =yes   表示 该文件中的用户不可访问FTP服务器

userlist_deny =no    表示仅该文件中的用户可以访问FTP服务器

root

bin

daemon

adm

lp

sync

shutdown

halt

mail

news

uucp

operator

games

nobody

     三   FTP 的安全

            FTP 才用明文传输 ,可用抓包工具提取用户名和密码,是不安全的可用以下两种方式保证FTP传输的安全

        1.    加密访问 

             为FTP服务器申请证书 保证数据传输和用户登录采用加密的方式 依次来确保FTP的安全 

 (1)   为FTP申请证书

        再次不再说明

 (2)   为了确保FTP使用加密访问 ,需要在vsftpd.conf中添加一下内容 

  ssl_enable=YES                                                    开启ssl验证
  ssl_tlsv1=YES                                                       采用tfs v1版本验证
  rsa_cert_file=                                                         证书文件路径
  rsa_private_key_file=                                             私钥文件路径

  force_local_logins_ssl=YES                                   强制使用登陆加密
  force_local_data_ssl=YES                                     强制使用数据传输加密

(3)   使用专用的FTP客户端 测试连接 

再次采用Flashfxp  设置如下:

 

Redhat配置FTP服务器 

            2  虚拟账号登陆

  (1)        编辑/etc/vsftpd/vsftpd.conf 添加一下几行
 pam_service_name=vsftpd.vu                            pam接口文件 /etc/pam.d/下
 guest_enable=YES                                            开启虚拟账号模式
 guest_username=user1                                      虚拟账号映射为user1
 user_config_dir=/etc/vsftpd/config                     个人配置文件 若要设置虚拟账号上传,创 建目录,修改文件和目录名 需要此行
  (2)       生成vsftpd.vu
        创建虚账号文件 
        vim /etc/vsftpd/viruser.txt       编辑此文件添加虚拟账号 
zhangsan
123
test1
123
         利用账号产生数据文件        

rpm -ivh db4-utils-4.3.29-9.fc6                                  安装db_load 命令包含的包
db_load -T -t hash -f viruser.txt viruser.db                  产生数据文件
         生成vsftpd.vu文件
cd /etc/cd /etc/pam.d/
cp -p vsftpd vsftpd.vu
vim vsftpd.vu                                                             编辑此文件添加验证
auth    required   pam_userdb.so   db=/etc/vsftpd/viruser
account required   pam_userdb.so   db=/etc/vsftpd/viruser
                                        

  (3)    设置个人配置文件  实现虚拟账号上传,改名功能
             编辑 vsftpd.conf添加
             user_config_dir=/etc/vsftpd/config

 
            创建配置文件  以虚拟用户名创建文件
mkdir /etc/vsftpd/config
vim /etc/vsftpd/config/zhangsan   
anon_upload_enable=YES                                         上传
anon_mkdir_write_enable=YES                                 创建文件夹
anon_other_write_enable=YES                                  修改名字

      四   设置为非独立进程

     编辑/etc/vsftp/vsftpd.conf
#listen=yes                                                                    禁用独立进程

     在/etc/xinetd.d/下新建   vsftp文件 键入一下内容
           vim /etc/xinetd.d/vsftp
              service ftp
              {
              disable                 = no                                      开启监听

              socket_type             = stream                          

              wait                    = no
              user                    = root
              server                  = /usr/sbin/vsftpd                       vsftp服务命令目录
              banner_fail             = /etc/vsftpd.busy_banner         失败日志
              log_on_success          += PID HOST DURATION
              log_on_failure          += HOST
              access_times             = 8:30-20:00                         时间控制
              only_from                = 192.168.100.1                    主机控制
              no-access                = x.x.x.x                                 主机控制
              per_source               = x                                         每个主机连接数
              instances                = x                                           总连接数
}

     重启守护进程 测试21 端口是否开启

   service xinetd restart

   netstat -tupln |grep  21

   

 

 


  


                

 

 

   

 

anonymous_enable=YES                                  是否允许anonymous登录FTP服务器

local_enable=YES                                          是否允许本地用户登录FTP服务器#

write_enable=YES                                          用户是否具有在FTP服务器文件写的权限local_umask=022                                              本地用户文件的屏蔽位

#anon_upload_enable=YES                              是否允许匿名用户上传

#anon_mkdir_write_enable=YES                      是否允许匿名账户创建目录

dirmessage_enable=YES                                   目录信息,用户更改目录时,将出现提示信息

xferlog_enable=YES                                         启用上传和下载日志功能

connect_from_port_20=YES                            启用FTP数据端口的连接请求

#ascii_download_enable=YES                        是否允许使用ASCII格式来上传和下载文件

#ftpd_banner=Welcome to blah FTP service.      FTP服务器中设置登陆信息

#deny_email_enable=YES                                  是否允许以邮箱为密码

#banned_email_file=/etc/vsftpd.banned_emails    设置用户以邮箱为登陆控制文件中为禁止

#chroot_list_enable=YES                                  是否允许用户切换家目录

#chroot_list_enable=YES                                   设置用户控制切换家目录

#chroot_list_file=/etc/vsftpd.chroot_list               文件中的为禁止切换

pam_service_name=vsftpd                                 设置PAM认证服务的配置文件名称userlist_enable=YES                                       列表中的用户是否允许登录FTP服务器listen=YES                                                         设置vsftpd 处于独立启动模式

tcp_wrappers=YES                                           使用tcp_wrqppers作为主机访问控制方式

     其他设置