简介:

vsftpd 是“very secure FTP daemon”的缩写,安全性是它的一个最大的特点。

vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux、BSD、Solaris、 HP-UNIX等系统上面,是一个完全免费的、开放源代码的ftp服务器软件,支持很多其他的 FTP 服务器所不支持的特征。

比如:非常高的安全性需求、带宽限制、良好的可伸缩性、可创建虚拟用户、支持IPv6、速率高等。

vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序。特点是小巧轻快,安全易用。

特点:

①vsftpd 是以一般身份启动服务,所以对于 Linux 系统的使用权限较低,对于Linux 系统的危害就相对的减低了。此外, vsftpd 亦利用 chroot() 这个函式进行改换根目录的动作,使得系统工具不会被vsftpd 这支服务所误用;

②任何需要具有较高执行权限的 vsftpd 指令均以一支特殊的上层程序( parent process ) 所控制 ,该上层程序享有的较高执行权限功能已经被限制的相当的低,并以不影响Linux 本身的系统为准;

③所有来自 clients 端,想要使用这支上层程序所提供的较高执行权限之vsftpd 指令的需求,均被视为『不可信任的要求』来处理,必需要经过相当程度的身份确认后,方可利用该上层程序的功能。例如chown(), Login 的要求等等动作;

④此外,上面提到的上层程序中,依然使用 chroot() 的功能来限制使用者的执行权限。

1.安装vsftpd

环境:CentOS Linux release 7.6.1810 (Core)

vsftpd版本:vsftpd.x86_64 0:3.0.2-25.el7

1.1、执行yum命令安装

[root@Sungeek ~]# yum -y install vsftpd

1.2、修改配置文件

按照下面修改配置文件

[root@Sungeek ~]# cd /etc/vsftpd
[root@Sungeek ~]# vim vsftpd.conf

#是否允许匿名,默认no
anonymous_enable=NO#这个设定值必须要为YES 时,在/etc/passwd内的账号才能以实体用户的方式登入我们的vsftpd主机
local_enable=YES#具有写权限
write_enable=YES#本地用户创建文件或目录的掩码
local_umask=022#当dirmessage_enable=YES时,可以设定这个项目来让vsftpd寻找该档案来显示讯息!您也可以设定其它档名!
dirmessage_enable=YES#当设定为YES时,使用者上传与下载日志都会被纪录起来。记录日志与下一个xferlog_file设定选项有关
xferlog_enable=YES
xferlog_std_format=YES#上传与下载日志存放路径
xferlog_file=/var/log/xferlog #开启20端口
connect_from_port_20=YES#关于系统安全的设定值:
#ascii_download_enable=YES(NO)
#如果设定为YES ,那么 client 就可以使用 ASCII 格式下载档案。
#一般来说,由于启动了这个设定项目可能会导致DoS 的攻击,因此预设是NO。
#ascii_upload_enable=YES(NO)
#与上一个设定类似的,只是这个设定针对上传而言!预设是NO。
ascii_upload_enable=NO
ascii_download_enable=NO#通过搭配能实现以下几种效果:
#①当chroot_list_enable=YES,chroot_local_user=YES时,在/etc/vsftpd.chroot_list文件中列出的用户,可以切换到其他目录;未在文件中列出的用户,不能切换到其他目录。
#②当chroot_list_enable=YES,chroot_local_user=NO时,在/etc/vsftpd.chroot_list文件中列出的用户,不能切换到其他目录;未在文件中列出的用户,可以切换到其他目录。
#③当chroot_list_enable=NO,chroot_local_user=YES时,所有的用户均不能切换到其他目录。
#④当chroot_list_enable=NO,chroot_local_user=NO时,所有的用户均可以切换到其他目录。chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list#这个是pam模块的名称,我们放置在/etc/pam.d/vsftpd
pam_service_name=vsftpd#当然我们都习惯支持TCP Wrappers的啦!
tcp_wrappers=YES#不添加下面这个会报错:500 OOPS: vsftpd: refusing to run with writable root inside chroot()
allow_writeable_chroot=YES#ftp的端口号
listen_port=60021#启动被动式联机(passivemode)
pasv_enable=YES
#上面两个是与passive mode 使用的 port number 有关,如果您想要使用65400到65410 这 11 个 port 来进行被动式资料的连接,可以这样设定
pasv_min_port=65400
pasv_max_port=65410#FTP访问目录
local_root=/data/ftp/

1.3、添加防火墙开启相关端口

这里要是测试可以先关闭防火墙

[root@tsemongo01 vsftpd]# systemctl stop firewalld

如果是正式环境,最好开启防火墙,添加相应端口

#添加主端口
[root@tsemongo01 vsftpd]# firewall-cmd --permanent --zone=public --add-port=60021/tcp
success
#添加被动端口
[root@tsemongo01 vsftpd]# firewall-cmd --permanent --zone=public --add-port=65400-65410/tcp
success
[root@tsemongo01 vsftpd]# firewall-cmd --reload
success

2、创建FTP用户

添加FTP用户命令:useradd XXX

设置FTP用户密码:passwd XXX

[root@Sungeek vsftpd]# useradd -d /data/ftp/ -s /sbin/nologin ftpuser
[root@Sungeek vsftpd]# passwd ftpuser

查看FTP用户是否设置不能通过SSH登录,只能使用FTP

[root@Sungeek vsftpd]# vim /etc/passwd

找到创建的用户把/bin/bash修改为/sbin/nologin

设置用户访问权限:

[root@Sungeek vsftpd]# chown -R ftpuser /data/ftp

3、设置vsftpd服务开机启动

[root@Sungeek ~]# systemctl enable vsftpd.service

4、启动暂停查看服务状态命令

[root@Sungeek ~]# systemctl start vsftpd.service
[root@Sungeek ~]# systemctl status vsftpd.service 

5、安装ftp客户端验证能否连接

随便用一个ftp客户端访问测试是否连接成功即可!我用的是FileZilla Client

6、常见问题

6.1、问题1:

这种情况是说明配置文件里面设置的chroot_list_file=/etc/vsftpd/chroot_list没找到这个文件

直接去/etc/vsftpd目录cp一个user_list或者把配置文件里面改名就行

6.2、问题2:

这种情况是selinux没有关闭,关闭selinux即可

[root@localhost ~]# vim /etc/selinux/configSELINUX=disabled

Centos7安装搭建FTP服务器VSFTPD相关推荐

  1. CentOS7 安装配置FTP服务器详解

    CentOS7 安装配置FTP服务器详解 1.FTP简介 ftp(File Transfer Protocol文件传输协议)是基于TCP/IP 协议的应用层协议,用于文件的传输,包括ftp服务器(或服 ...

  2. centos7 pam mysql.so,Centos7下搭建FTP服务器(博主亲测不坑)

    Loading... 领导要用,虽然不知道用途是干啥的,估计跟我们最近做的项目有关系.网络上搜出来的教程很多,配置复杂,而且不一定成功,很烦,我的配置肯定能用,保证不坑. 一.关闭防火墙.SELinu ...

  3. 在阿里云CentOS7上搭建ftp服务器

    当我再次被各种出站入站规则玩弄,在搜索引擎的帮助走出泥淖后,我决定记下这次经历 1. FTP服务器的部署 1.1 安装vsftpd   笔者使用的是阿里云的ECS服务器(这不是广告,而是提醒:P),操 ...

  4. CentOS7.4搭建FTP服务器(vsftp)

    很多情况我们需要在Linux安装FTP服务器进行文件传输,这里介绍一下安装FTP服务器的步骤和需要注意的点 1.安装vsftp服务 yum install vsftpd -y 2.修改配置(不然会导致 ...

  5. CentOS7种搭建FTP服务器

    1.安装vsftpd #首先要查看你是否安装vsftp [root@localhost /]# rpm -q vsftpd vsftpd-3.0.2-10.el7.x86_64             ...

  6. CentOS7种搭建FTP服务器 1

    安装vsftpd 首先要查看你是否安装vsftp [root@localhost /]# rpm -q vsftpd vsftpd-3.0.2-10.el7.x86_64 #显示也就安装成功了! 如果 ...

  7. Linux下服务器搭建(1)——Linux下搭建FTP服务器 vsftpd服务

    目录 前言 1.检查安装vsftpd软件 2.启动服务 3.vsftpd的配置 4.以匿名用户登录

  8. centos+7虚拟机web服务器,CentOS7上搭建WEB服务器

    mysql 安装 直接yum install mysql-server是不可以的 1 wget http://repo.mysql.com/mysql-community-release-el7-5. ...

  9. 服务器linux centos 7.4 搭建ftp服务器

    此操作是在腾讯云服务器linux centos 7.4 完成搭建ftp服务器 vsftpd 的: 安装 vsftpd $ yum install vsftpd -y 启动 $ service vsft ...

最新文章

  1. Flex/Silverlight的技术比较转
  2. 说实话,Intellij IDEA 自带的 Vim 插件真心不错!
  3. Gitee X Serverless Devs 邀你来“领赏”啦!
  4. 一个箱子的梦想_我的世界全自动甘蔗收割机,不用动手,轻松收获一箱子甘蔗...
  5. pythonchar中的拟合方法_Python 字符串中常见的一些方法
  6. 如何找到稳定的网站空间
  7. 仙岛求药 详解(C++)
  8. 吊炸天——74款APP完整源码
  9. hibernate二级缓存(一)一级缓存与二级缓存
  10. linux解压win10iso,ISO文件的解压和WINISO問題
  11. word文档中英文行间距不一样怎么解决
  12. Android只播放gif动画
  13. 华为照片在哪个文件夹_华为手机相册照片在哪个文件夹(这2个方法帮你轻松找到)...
  14. 【线程 锁】ExecutorService的submit方法使用
  15. 道路交通车路协同信息服务通用技术要求
  16. 【HTTP Live Streaming】(一)苹果公司 - 流媒体传输技术 - 概览
  17. ts16949 软件开发流程图_TS16949体系过程流程图(1)
  18. Vue中directives用法--自定义指令控制按钮权限
  19. linux文件传输限制带宽,linux – 如何限制CentOS服务器上传/下载带宽?
  20. Vue动态赋值video视频

热门文章

  1. Java俄罗斯方块思想与实现
  2. stm32板间串口通信escape协议
  3. 墙裂推荐|7款运营工具,能帮你提升90%的效率,高效完成KPI任务
  4. python中的mat()函数
  5. c语言 自动计时万年历,C语言实现万年历
  6. C#建立控件数组,实现控件批量操作
  7. java控件数组_多维控件数组
  8. 51单片机控制SG90 9g舵机
  9. 开创性研究 | 间接性CDK5介导的tau蛋白磷酸化抑制剂
  10. WEB 2.0中AJAX应用的详细探讨