Centos7安装搭建FTP服务器(最简便方法)

简介:
vsftpd 是“very secure FTP daemon”的缩写,安全性是它的一个最大的特点。
vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux、BSD、Solaris、 HP-UNIX等系统上面,是一个完全免费的、开放源代码的ftp服务器软件,支持很多其他的 FTP 服务器所不支持的特征。
比如:非常高的安全性需求、带宽限制、良好的可伸缩性、可创建虚拟用户、支持IPv6、速率高等。
vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序。特点是小巧轻快,安全易用。
特点:
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= #当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 #不添加下面这个会报错: 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 这 个 port 来进行被动式资料的连接,可以这样设定
pasv_min_port=
pasv_max_port= #FTP访问目录
local_root=/data/ftp/
1.3、添加防火墙开启相关端口
这里要是测试可以先关闭防火墙
[root@tsemongo01 vsftpd]# systemctl stop firewalld
如果是正式环境,最好开启防火墙,添加相应端口
#添加主端口
[root@tsemongo01 vsftpd]# firewall-cmd --permanent --zone=public --add-port=/tcp
success
#添加被动端口
[root@tsemongo01 vsftpd]# firewall-cmd --permanent --zone=public --add-port=-/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/config SELINUX=disabled
更多详细的vsftpd的配置说明:https://baike.baidu.com/item/vsftpd/5254770?fr=aladdin
Centos7安装搭建FTP服务器(最简便方法)的更多相关文章
- Centos7安装vsftpd (FTP服务器)
Centos7安装vsftpd (FTP服务器) 原文链接:https://www.jianshu.com/p/9abad055fff6 TyiMan 关注 2016.02.06 21:19* 字数 ...
- 腾讯云服务器linux centOS7.4 搭建ftp服务器 vsftpd
腾讯云服务器linux centos 7.4 搭建ftp服务器 vsftpd 在centos 7.3测试也是OK的,其它版本没有实验 # 安装 vsftpd $ yum install vsftpd ...
- 阿里云 CentOS7中搭建FTP服务器
1配置 vsftpd-3.0.2-27.el7.x86_64 阿里云 centos 7.0 2 ftp工作模式 2.1 ftp通道 ftp工作会启动两个通道: 控制通道,数据通道 在ftp协议中,控制 ...
- Centos7上搭建ftp服务器
ftp服务器搭建 1.安装好centos系统,配好yum仓库 其中vsftpd源在这下载 http://rpmfind.net/linux/rpm2html/search.php?query=vsft ...
- CentOS7系统搭建FTP服务器
创建FTP服务器1.安装FTP服务 yum install -y vsftpd 默认的FTP服务的配置文件路径为/etc/vsftpd cd /etc/vsftpd[root@test924 vsft ...
- Centos7安装搭建NTP服务器和NTP客户端同步时间
NTP简介: NTP是网络时间协议(Network Time Protocol),它是用来同步网络中各个计算机的时间的协议. 在计算机的世界里,时间非常地重要 例如:对于火箭发射这种科研活动,对时间的 ...
- centos7上搭建ftp服务器(亲测可用)
1.安装vsftpd 首先要查看你是否安装vsftp [root@localhost /]# rpm -q vsftpd vsftpd-3.0.2-10.el7.x86_64 (显示以上相关信息也就安 ...
- CentOS7种搭建FTP服务器
1.安装vsftpd #首先要查看你是否安装vsftp [root@localhost /]# rpm -q vsftpd vsftpd-3.0.2-10.el7.x86_64 ...
- CentOS7安装配置FTP服务器
假设我们有以下要求 路径 权限 备注 /ftp/open 公司所有人员包括来宾均可以访问 只读 /ftp/private 仅允许Alice.Jack.Tom三个人访问 Alice.Jack只允许下载, ...
随机推荐
- 使用Hexo搭建个人博客的终极资料
一.前言 Hexo 是一个基于 NodeJs 博客框架,可以快速的帮我们搭建一个博客系统,Hexo使用的是Markdown(下文简称MD)解析文章的,在几秒内即可利用靓丽的主体生成静态网页. 推荐使用 ...
- Go语言学习笔记(六) [包]
日期:2014年7月30日 1.定义:包时函数和数据的集合.使用package关键字定义一个包,文件名不需要与包名一致,包名约定使用小写字符,Go包可以由多个文件组成,但是需要使用相同的packa ...
- RabbitMQ 消息中间件
RabbitMQ 是使用 Erlang 语言开发的消息中间件, 其遵循了高级消息队列协议(Advanced Message Queuing Protocol, AMQP). 与 Kafka 等消息队列 ...
- Perl数组和hash相关函数
Perl数组和hash相关函数 内置的数组函数有: each, keys, pop, push, shift, splice, unshift, values 内置的hash函数有: delete, ...
- Runtime详解(上)
这篇关于Runtime讲解参考https://juejin.im/post/593f77085c497d006ba389f0以及https://www.jianshu.com/p/6ebda3cd80 ...
- NPOI导出EXCEL报_服务器无法在发送 HTTP 标头之后追加标头
虽然发表了2篇关于NPOI导出EXCEL的文章,但是最近再次使用的时候,把以前的代码粘贴过来,居然报了一个错误: “服务器无法在发送 HTTP 标头之后追加标头” 后来也查询了很多其他同学的文章,都没 ...
- [转]Docker版本变化和新版安装
本文转自:http://www.cnblogs.com/Peter2014/p/7704306.html Docker从1.13版本之后采用时间线的方式作为版本号,分为社区版CE和企业版EE. 社区版 ...
- [转]c# System.IO.Ports SerialPort Class
本文转自:https://docs.microsoft.com/en-us/dotnet/api/system.io.ports.serialport?redirectedfrom=MSDN& ...
- C#窗体越界时鼠标还能回到初始坐标位置
对窗体加越界限制后,鼠标拖动窗体越界时,窗体不能动,鼠标位置可动,但窗体不再越界时,鼠标位置还能回到鼠标按下时相对窗体的坐标:1.首先创建一个窗体Form1,然后在窗体上拖一个button1按钮(主要 ...
- css 两段对齐和超出部分...
.cont-detail ul li { display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-pack: j ...