FTP文件共传输服务

本文涉及的产品
运维安全中心(堡垒机),免费版 6个月
运维安全中心(堡垒机),企业双擎版|50资产|一周时长
简介:

3-FTP文件共传输服务

一,vsftpd服务基础

1),FTP服务概述

        FTPFile Transfer  Protocol,文件传输协议)是典型的C/S结构的应用层协议,需要由服务端软件、客户端软件共同实现文件传达输功能。

1,FTP连接及传输模式

 #FTP服务器默认使用TCP协议的“2021端口”与客户端进行通信

 #20端口用于建立数据连接,并传输文件数据

 #21端口用于建立控制连接,并传输FTP控制命令

【模式】

#主动模式:服务器主动发起数据连接,首先由客户端向服务端的21端口建立FTP

 控制连接,当需要传输数据时,客户端以ROPT命令告知服务器“我打开了某

 个端口,你过来连接我“,于是,服务器从20端口向客户端发送请求并建立

 数据连接。

#被动模式:服务器被动等待数据连接,如果客户机所在网络的防火墙禁止主动模

 式连接,通常会使用被动模式,客户端向服务器的该端口(非20)发送请求

 并建立数据连接。

【端口】

随机端口 > 1024              周知端口 <= 1024

2,FTP用户类型

  #匿名用户:ftpanonymous,空密码,一般用于提供公共文件的下载。

  #本地用户:本机的系统用户。

  #虚拟用户:不是直接使用系统用户,而是位于独立数据文件中的FTP用户账号,通

   过使用虚拟用户,将FTP账户与Linux系统账户的关联性降至最低,可以为系

   统提供更好的安全。

3,FTP服务器软件的分类

#windowsiis                  serv-u

#Linuxproftpd pureftpd  vsftpd

〖vsftpd〗

a)该软件针对安全特性方面做了大量的设计

b)Vsftpd在速度和稳定性方面的表现也相当突出

c)Vsftpd可以支持15000个用户并发连接

d)Vsftpd:“very secure  FTP  daemon

4,FTP客户端工具的种类

#windowscuteFTP FlashFxp  LeapFTP  Filezilla

#Linuxgftp kuftp

2),vsftpd的配置

        #主程序:/usr/sbin/vsftpd

        #配置文件:/etc/vsftpd

        #脚本文件:/etc/init.d/vsftpd

1,用户列表文件“ftpusersuser_list

  #ftpusers:黑名单文件,此文件中列出的用户将禁止登录到vsftpd服务

  #user_list:黑白名单文件,一般用作白名单。此文件中包含的用户可能被禁止登录,

也可能被允许登录,具体取决于主配置文件vsftpd.conf中的设置


          userlist_enable=yes
user_list列表文件才生效

          userlist_deny=yes,为黑白名单,禁止此列表中的用户登录

          userlist_deny=no,为白名单,允许此列表中的用户登录

2,主配置文件“vsftpd.conf

格式:配置项=参数


【vsftpd.conf常见配置项及含义说明】

【匿名用户/适用于虚拟用户】

anonymous_enable=yes   /是否允许匿名访问

anon_umask=022   /设置匿名用户所上传文件的默认权限掩码值,采用反码方式表示

anon_root=/var/ftp    /设置匿名用户的FTP根目录(缺省为/var/ftp)

anon_upload_enable=yes   /是否允许匿名用户上传文件

anon_mkdir_write_enable=yes    /是否允许匿名用户有创建目录的写入权限

anon_other_write_enable=yes  /是否允许匿名用户有其他写入权限“改名,删除”

anon_max_rate=0  /限制匿名用户的最大传输速率(0为无限制),单位为字节/秒

【本地用户】

   local_enable=yes        /是否允许本地系统用户访问

   local_umask=022         /设置本地用户所上传文件的默认权限

   local_root=/var/ftp     /设置本地用户的FTP根目录,适用于虚拟用户

   local_local_user=yes   /是否将FTP本地用记禁锢在宿主目录中

   local_max_rate=0       /限制本地用户的最大传输率(0为无限制)

【全局配置】

   userlist_enable=yes  /是否启用user_list用户列表文件,启用黑白名单

   userlist_deny=yes  /是否禁用user_list列表文件中的用户账号,yes为黑

   max_clients=0  /是否允许多个客户端同时连接(0为无限制)

   max_per_ip=0  /对来自同一个IP地址的客户端,最多允许多少个并发连接(0为元限制),控制多进程     下载,如“迅雷”

   connect_from_port_20=yes /允许服务器主动模式(从20端口建立数据连接)

   pasv_enable=yes  /允许被动模式连接

   pasv_max_port=24600  /设置用于被动模式的服务器最大端口号

   pasv_min_port=24500  /设置用于被动模式的服务器最小端口号

   pam_service_name=vsftpd  /设置用于用户认证的PAM文件位置(/dev/pam.d/目录中对应的文件名)

   listen=yes  /是否以独立运行的方式监听服务

   listen_address=0.0.0.0  /设置监听FTP服务的IP地址

   listen_port=21  /设置监听FTP服务的端口号

   write_enable=yes  /启用任何形式的写入权限(如上传、删除文件等)要开启它

   download_enable=yes  /是否允许下载文件(no为仅限于浏览、上传)

   dirmessage_enable=yes  /用户切换进入目录时显示.message文件

   xferlog_enable=yes  /启用xferlog日志,默认记录到/var/log/xferlog

   xferlog_std_format=yes  /启用标准的xferlog日志格式。如禁用,将使用vsftpd自己的日志格式

二,基于系统用户的FTP服务

1),匿名访问的FTP服务

1,准备匿名FTP访问的目录

        #FTP匿名用户对应的系统用户为ftp

        #宿主目录:/var/ftp

2,开放匿名用户配置,并启动vsftpd服务

#设置主配置文件:vim /etc/vsftpd/vsftpd.conf

#开启服务:service vsftpd  restart

3,测试匿名FTP服务器

ftp  192.168.1.1


【登录FTP后,对客户端操作方法】


Linux

Windows

显示当前路径

!pwd

!cd

改变路径

lcd

lcd

查看目录内容

!ls

!dir


2),用户验证的FTP服务

1,基本的本地用户验证

·ftp://用户名@192.168.1.1

·ftp://用户名:密码@192.168.1.1

2,使用user_list用户列表文件

 ·编辑“vim /etc/vsftpd/user_list”

添加本地用户

 ·编辑 vim  /etc/vsftpd/vsftpd.conf

          userlist_enable=yes      /启用此项

          userlist_deny=no        /启用白名单

 ·重启服务:service vsftpd  restart

3),vsftpd服务的其他常用配置

1,修改vsftpd服务的监听地址、端口

  查看vsftpd服务的监听情况:netstat  -anpt |  grep  “vsftpd”

2,允许使用FTP服务器的被动模式

3,限制FTP连接的并发数、传输速度

三,基于虚拟用户的FTP服务

1),建立虚拟用户的账号数据库

准备工作:rpm  -ivh  db4-utils-..rpm                /安装此软件

1,创建文件格式的用户名、密码列表

vim /etc/vsftpd/vusers.list                 /vusers.list文件名,后缀名自定义

用户名奇数行

密码偶数行

2,创建Berkeley DB格式的数据库文件源文件目标文件

a)先进入/etc/vsftpd/目录:cd  /etc/vsftpd

b)创建转换:db_load  -T -t  hash  -f  vusers.listvusers.db

c)查看转换后的文件类型:flie  vusers.db

d)为提高虚拟用户账号文件的安全性,设置文件权限

chmod  600 /etc/vsftpd/vusers.*

3,添加虚拟用户的映射账号、创建FTP根目录

useradd  -d /var/ftproot  -s  /sbin/nologin virtual  

chmod  755  /var/ftproot                   /ftproot这个目录会自动创建

2),为vsftpd服务添加虚拟用户支持

1,为虚拟用户建立PAM认证文件

位于:/etc/pam.d/vsftpd

    vim  /etc/pam.d/vsftpd.vu      /vsftpd.vu文件名可自定义


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

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

2,修改vsftpd配置,添加虚拟用户支持

vim /etc/vsftpd/vsftpd.conf

                  ……//省略部分内容


                  local_enable=yes                     /
需要映射本地用户、所以启用此项

                  write_enable=yes                     /启用上传写入支持

                  anon_umask=022                       /指定上传权限掩码

                  guest_enable=yes                     /启用用户映射功能

                  guest_username=virtual               /指定映射的系统用户名称

                  pam_service_name=vsftpd.vu           /指定新的PAM认证文件

3,为不同的虚拟用户建立独立的配置文件

a)vim  /etc/vsftpd/vsftpd.conf

……//省略部分内容


user_config_dir=/etc/vsftpd/vusers_dir              /vusers_dir
目录名自定义

b)创建用户配置文件夹

  mkdir  /etc/vsftpd/vusers_dir

c)进入此文件夹,为用户建立独立的配置文件

  cd  /etc/vsftpd/vusers_dir

  vim  用户名

          anon_upload_enable=yes                      /上传权限

          anon_mkdir_write_enable=yes                 /创建、定入权限

          anon_other_write_enable=yes                 /修改权限

d)重新加载配置

  service vsftpd  reload



本文转自甘兵 51CTO博客,原文链接:http://blog.51cto.com/ganbing/1198773,如需转载请自行联系原作者

相关文章
|
7月前
|
监控 Ubuntu 安全
Ubuntu开启FTP服务教程
在Ubuntu服务器上配置FTP服务是一个常见的需求,无论是用于文件分享、网站管理还是数据备份。FTP(文件传输协议)是一种用于在网络上传输文件的协议,它可以让用户通过身份验证下载或上传文件。本文将指导您如何在Ubuntu系统上安装和配置FTP服务器,以及如何管理用户权限来保证服务器的安全性。
560 0
|
7月前
|
安全 算法 网络协议
【Linux】文件服务FTP(File Transfer Protocol)
【Linux】文件服务FTP(File Transfer Protocol)
105 0
|
7月前
|
开发框架 Java 数据处理
多sheet页导出 + FTP上传文件实战
多sheet页导出 + FTP上传文件实战
|
2月前
|
网络安全 Windows
Jetson 学习笔记(十五):FTP协议传输文件
本文介绍了如何使用WinSCP软件通过FTP协议在Windows和Jetson设备之间传输文件,并分享了一些操作经验和技巧。
30 0
Jetson 学习笔记(十五):FTP协议传输文件
|
2月前
|
网络安全 数据安全/隐私保护
FTP服务搭建
FTP服务搭建
29 0
|
2月前
|
弹性计算 关系型数据库 网络安全
阿里云国际版无法连接和访问Windows服务器中的FTP服务
阿里云国际版无法连接和访问Windows服务器中的FTP服务
|
4月前
|
存储
【Azure 应用服务】Azure App Service 自带 FTP服务
【Azure 应用服务】Azure App Service 自带 FTP服务
|
4月前
|
Java
Java SpringBoot FTP 上传下载文件
Java SpringBoot FTP 上传下载文件
154 0
|
7月前
|
Web App开发 安全 Unix
Linux 配置FTP服务器 + vsftpd服务安装配置 (Good篇)
Linux 配置FTP服务器 + vsftpd服务安装配置 (Good篇)
183 1
|
7月前
|
存储 Linux 文件存储
网络文件共享ftp
网络文件共享ftp