作者:【吴业亮】
博客:https://wuyeliang.blog.csdn.net/

1、FTP的传输有两种方式

  • ASCII传输方式  假定用户正在拷贝的文件包含的简单ASCII码文本,如果在远程机器上运行的不是UNIX,当文件传输时ftp通常会自动地调整文件的内容以便于把文件解释成另外那台计算机存储文本文件的格式。但是常常有这样的情况,用户正在传输的文件包含的不是文本文件,它们可能是程序,数据库,字处理文件或者压缩文件。在拷贝任何非文本文件之前,用binary 命令告诉ftp逐字拷贝。

  • 二进制传输模式  在二进制传输中,保存文件的位序,以便原始和拷贝的是逐位一一对应的。即使目的地机器上包含位序列的文件是没意义的。例如,macintosh以二进制方式传送可执行文件到Windows系统,在对方系统上,此文件不能执行。如在ASCII方式下传输二进制文件,即使不需要也仍会转译。这会损坏数据。(ASCII方式一般假设每一字符的第一有效位无意义,因为ASCII字符组合不使用它。如果传输二进制文件,所有的位都是重要的。)

FTP(File Transfer Protocol)是一种文件传输协议,基于客户端/服务器架构,支持以下两种工作模式:

  • 主动模式:客户端向FTP服务器发送端口信息,由服务器主动连接该端口。
  • 被动模式:FTP服务器开启并发送端口信息给客户端,由客户端连接该端口,服务器被动接受连接。
    说明 大多数FTP客户端都在局域网中,没有独立的公网IP地址,且有防火墙阻拦,主动模式下FTP服务器成功连接到客户端比较困难。因此,如无特殊需求,建议您将FTP服务器配置为被动模式。

FTP支持以下三种认证模式:

  • 匿名用户模式:任何人无需密码验证就可以直接登录到FTP服务器。这种模式最不安全,一般只用来保存不重要的公开文件,不推荐在生产环境中使用。
  • 本地用户模式:通过Linux系统本地账号进行验证的模式,相较于匿名用户模式更安全。
  • 虚拟用户模式:FTP服务器的专有用户。虚拟用户只能访问Linux系统为其提供的FTP服务,而不能访问

2、安装vsftpd

# yum -y install vsftpd

3、备份配置文件/etc/vsftpd/vsftpd.conf

# cp -a /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf_bak

4、配置/etc/vsftpd/vsftpd.conf内容如下:

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
ascii_upload_enable=YES
ascii_download_enable=YES
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
ls_recurse_enable=YES
listen=YES
listen_ipv6=NO
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
local_root=public_html
use_localtime=YES
seccomp_sandbox=NO

参数解释:

  • anonymous_enable=YES 是否允许匿名ftp(默认为YES),如否则选择NO,基于用户名与密码的访问
  • anon_upload_enable=YES 是否允许匿名ftp 用户上传(默认被注释即不支持)
  • chroot_list_enable=YES 是否将系统用户限制在自己的home目录下
  • chroot_list_file=/etc/vsftpd/chroot_list 如果chroot_list_enable=YES 那么在/etc/vsftpd/chroot_list 中列出的是被限制的用户的列表,这个和上面的连用。
  • ftpd_banner=Welcome to blah FTP service. 定制欢迎信息
  • local_enable=YES 是否允许本地用户登录
  • local_umask=022 默认的umask码 配置文件里面没有anon_umask,其实可以用这条, 权限掩码,比如umask是 022,你创建一个文件本来是666 就要 -022 = 644
  • connect_from_port_20=YES 是否确信端口传输来自20(ftp-data)
  • chown_username=username 是否改变上传文件的属主, 如果是需要输入一个系统用户名, 你可以把上传的文件都改成root 属主
  • xferlog_file=/var/log/vsftpd.log ftp 传输日志的路径和名字默认是/var/log/vsftpd.log
  • xferlog_std_format=YES 是否使用标准的ftp xferlog 模式
  • idle_session_timeout=600 设置默认的断开不活跃session的时间
  • data_connection_timeout=120 设置数据传输超时时间
  • ascii_upload_enable=YES 是否使用ascii码方式上传文件
  • ascii_download_enable=YES 是否使用ascii码方式下载文件
  • userlist_enable=YES 在/etc/vsftpd/user_list 文件中列出用户不能访问FTP 服务器
  • tcp_wrappers=YES 是否支持tcp_wrappers

5、创建用户

在/etc/vsftpd/chroot_list中写入可以登录的用户

admin

由于vsftp上述配置操作系统默认必须用改用户。
新建用户

# useradd admin

修改密码

# passwd admin
Changing password for user admin.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.

6、配置防火墙

# firewall-cmd --add-service=ftp --permanent
success
# firewall-cmd --reload
success

7、配置selinux

# setsebool -P ftpd_full_access on

8、启动服务并设置开机启动

# systemctl start vsftpd
# systemctl enable vsftpd

基于vsftpd搭建ftp服务器相关推荐

  1. 在阿里云主机上基于CentOS用vsftpd搭建FTP服务器

    最近需要在一台阿里云的云服务器上搭建FTP服务器,在这篇博文中分享一下我们根据实际需求进行的一些配置. ftp软件用的是vsftpd. vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序 ...

  2. 使用vsftpd 搭建ftp 服务器

    1. 简介: 使用vsftpd 在ubuntu环境中搭建ftp服务器..Vsftp 是一个专门为unix类型系统设计一个ftp服务器,如linux. Vsftpd 支持ipv6和ssl.支持expli ...

  3. Centos7.6利用vsftpd搭建FTP服务器详细教程

    Centos7搭建FTP服务器 目录 Centos7搭建FTP服务器 一.关闭防火墙 二.安装vsftpd并启动服务 1.安装vsftpd 2.启动服务 三.编辑配置 四.新建用户并设置密码 1.新建 ...

  4. Centos 7使用vsftpd搭建FTP服务器

    FTP,即:文件传输协议(File Transfer Protocol),基于客户端/服务器模式,默认使用20.21端口号,其中端口20(数据端口)用于进行数据传输,端口21(命令端口)用于接受客户端 ...

  5. RHEL5中配置vsftpd搭建FTP服务器

    RPM安装包名:vsftpd-2.0.5-10.el5.i386.rpm (第二张光盘) 下载地址:http://vsftp.beasts.org  源代码最新版本:vsftpd-2.0.5.tar. ...

  6. centos8.5 Vsftpd 搭建FTP服务器

    @TOCvsftpd是一个比较稳定的FTP服务软件,它提供的FTP服务可以根据具体的业务需要灵活的配置为匿名访问.本地用户访问和虚拟用户访问.其中安全性最高的是虚拟用户访问方式,本文就搭建并配置一个虚 ...

  7. 使用vsftpd搭建FTP服务器(Centos 7)

    前提,在你的电脑上已经安装好了xshell或finalshell之类的ssh工具 第一步:查看软件包是否安装 rpm -qa | grep vsftpd 如果没有就下载软件 yum install v ...

  8. linux利用vsftpd 搭建FTP服务器

    实验环境: centos 6.4 x86_64 实验目标: 实现在同一跟目录下对admin,upload,download三个虚拟用户的不同权限的控制.具体权限控制列表如下: 用户名 权限说明 adm ...

  9. 【vsftpd】Ubuntu下搭建FTP服务器

    文章目录 使用ubuntu的vsftpd搭建ftp服务器 一.下载安装 二.通用配置 1.确认服务 2.修改配置文件 (1)配置文件 (2) 对root用户的配置 (3) 重启服务 三.多用户配置 1 ...

  10. linux系统建立ftp用户名和密码,linux系统搭建ftp服务器及创建用户使用

    linux 系统下搭建ftp服务器 ftp是什么 FTP是 File Transfer Protocol 文件传输协议的英文名称,用于在Internet上控制文件的双向传输. 同时它也是一个应用程序. ...

最新文章

  1. 紫色回归线:雅虎中国的运筹学
  2. WinForm中的MVC模式--MVP模式
  3. python选择日期控件_Flask学习笔记-使用bootstrap-datepicker实现页面日期选择
  4. MySQL Thread pool 操作过程
  5. php 正则 回溯,php 正则表达式效率 贪婪、非贪婪与回溯分析
  6. java session时间_Java基础:里设置session过期时间
  7. php pdf文件上传,显示
  8. windows下常见的知识
  9. 2021年海河英才计划天津落户天津最详细过程
  10. Linux命令 - /etc/passwd文件详解
  11. 从零开始的基于百度大脑EasyData的多人协同数据标注
  12. 周鸿祎:35告老的大富豪
  13. 三层交换机配置实现不同网络互通
  14. python对月饼数据进行可视化,看看哪家最划算
  15. SPI通讯协议详解 基于STM32
  16. 服务器hostname命名规范汇总
  17. shell学习18:if判断-e,-f,-f,-L,-r,-w,-x,-s,-nt,-ot的意思
  18. python使用QDA进行二次判别分析
  19. 浅析在线教育行业发展所面临的困境
  20. 企业级nginx使用

热门文章

  1. 解决Server returned HTTP response code: 403 for URL报错
  2. 逆水寒2021最新服务器,《逆水寒》2021上半年大事记:养娃带娃乐趣多,新职业新玩法不断更新...
  3. 对接钉钉API语音功能相关文档
  4. 山僧不识英雄主,何必晓晓问姓名
  5. 关于CNN中感受野的理解和计算方法
  6. 基于单幅图像Patch Map的稳健除雾(PMS-Net: Robust Haze Removal Based on Patch Map for Single Images_CVPR_2019)
  7. 从零开始学springboot笔记(一)-Spring boot之Hello Word
  8. elasticsearch(15) match_phase的使用 slop的使用
  9. Hadoop Failover
  10. Power BI 精美的可视化图表