2018-04-18 ftp服务的搭建

一、ftp端口:21控制端口,20数据端口

二、两种工作模式:

1.主动模式:客户端向服务器端的21端口发送请求,服务器接受请求,建立控制通道需要数据传输的时候,客户端在控制通道上告诉服务器:“我打开了XXXX端口,你过来连接我吧”,服务器就从本地的20端口向客户端的XXXX端口发送数据

2.被动模式:客户端像服务器的21端口发送请求,服务器接受连接建立通道。需要传输数据的时候,服务器在控制通道上告诉客户端:“我打开了XXXX端口,你过来连吧”,客户端像服务器的XX端口发送请求,建立连接(此处XXXX端口大于1024)

三、安装

1.vsftpd服务器的安装:

 1)非源码安装:yum install vsftpd  -y 

 2)修改配置文件(/etc/vsftpd/vsftp.conf):

anonymous_enable=NO                 # 允许匿名登录

local_enable=YES                              # 允许本地用户登录

write_enable=YES                             # 本地用户的写权限

local_umask=022                         # 使用FTP的本地文件权限,默认为077, # 一般设置为022  anon_mkdir_write_enable=YES        # 如果允许匿名登录,是否允许匿名建立文件夹并在文件夹内上传文件

anon_other_write_enable=YES         # 如果允许匿名登录,匿名帐号可以有删除的权限

dirmessage_enable=YES                       # 切换目录时,是否显示目录下.message的内容

xferlog_enable=YES                                 # 激活上传/下载的日志

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

xferlog_file=/var/log/vsftp/vsftpd.log    #日志文件路径设置

xferlog_std_format=YES                               # 使用标准的日志格式

data_connection_timeout=600                 # 数据连接空闲超时,单位秒

ascii_upload_enable=YES                            #启用上传的ASCII传输方式

ascii_download_enable=YES                      #启用下载的ASCII传输方式

chroot_list_enable=YES                                #调用限制在家目录的用户名单

chroot_list_file=/etc/vsftpd/chroot_list  #限制在家目录的用户名单所在路径

listen=YES                                                              #以独立的FTP服务运行

pam_service_name=vsftpd                           #验证方式

userlist_enable=YES                                          # 用userlist来限制用户访问

tcp_wrappers=YES                                             #实现主机访问控制,顺序/etc/hosts.allow----->/etc/hosts.deny

guest_enable=YES                                              #这个是开启虚拟用户

guest_username=ftp                                         #虚拟用户所映射的本地用户

user_config_dir=/etc/vsftpd/vuser_conf   #虚拟用户的配置文件

pasv_enable=yes                                                 #是否开户被动模式

pasv_min_port=6000                                        #被动模式最小端口

pasv_max_port=7000                                        #被动模式最大端口

pasv_promiscuous=YES                                   #此选项激活时,将关闭PASV模式的安全检查。该检查确保数据连接和控制连接是来自同一个IP地址。小心打开此选项。此选项唯一合理的用法是存在于由安全隧道方案构成的组织中。默认值为NO

3)设置相关虚拟用户的配置:

  a.先建立虚拟用户名单文件    

      touch /etc/vsftpd/vuser_passwd.txt

      vuser_passwd.txt内容要求:

        web1

        123456   -->(第一行账号,第二行密码,注意:不能使用root做用户名,系统保留,没必要是/etc/passwd 中的用户)

    b.生成虚拟用户数据文件:

      db_load -T -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.db

      ##设定PAM验证文件,并指定对虚拟用户数据库文件进行读取

    c.在/etc/pam.d/vsftpd的文件头部加入以下信息:

        修改前先备份 cp /etc/pam.d/vsftpd  /etc/pam.d/vsftpdbak

          vi /etc/pam.d/vsftpd

          auth required pam_userdb.so db=/etc/vsftpd/vuser_passwd

          account required pam_userdb.so db=/etc/vsftpd/vuser_passwd

    d.关于虚拟用户映射用户的建立

     guest_username=ftp

     #虚拟用户所映射的本地用户,此处就不用自行设置用户了,

     #如果给为其他的用户名,需要建立用户(/etc/passwd------>useradd)

    e. 建立虚拟用户个人vsftpd的配置文件:

         mkdir  /etc/vsftpd/vuser_conf

         cd /etc/vsftpd/vuser_conf

         vim web1            (此处文件名必须和vuser_passwd.txt的用户名相同)

         内容如下:

          local_root=上传文件的目录

          write_enable=YES

          anon_umask=022 

          anon_world_readable_only=NO

           anon_upload_enable=YES

          anon_mkdir_write_enable=YES

           anon_other_write_enable=YES


4.修改防火墙配置,开启端口20和21端口:

-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT

-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 20 -j ACCEPT

5.重新启动vsftpd服务:

   service vsftpd  start

你可能感兴趣的:(2018-04-18 ftp服务的搭建)