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只允许下载, ...
随机推荐
- zepto 事件分析4(事件队列)
前面分析了zepto的事件绑定,接下来分析事件解绑,先看一下zepto中解绑的off方法: $.fn.off = function(event, selector, callback){ var $t ...
- python抓取电影<海王>影评词云生成
海王是前段时间大热的影片,个人对这种动漫题材的电影并不是很感兴趣.然鹅,最近这部电影实在太热了,正好最近看自然语言处理的时候,无意间发现了word cloud这个生成词云的库,还蛮好玩的,那就抓抓这部 ...
- 关于Android屏幕的参数
屏幕尺寸信息: 级别 对应Drawable dp尺寸 Layout 文件夹 案例 标注 small drawable-ldpi 426x320 dp layout-small 典型 (240x320 ...
- c#连接oracle数据库 DBHelper
闲着没事自己写了一个OracleHelper类,希望大神给点建议优化 using System; using System.Collections.Generic; using System.Linq ...
- ASP.NET MVC 学习笔记-6.异步控制器
1) 异步控制器的由来 对于IIS,它维护了一个.NET线程池来处理客户端请求,这个线程池称为工作线程池,其中的线程称为工作线程.当IIS接收到一个请求时,需要从工作线程池中唤醒一个工 ...
- Hibernate入门(十)inverse
双向关联产生多余的SQL语句 /** * 添加一个订单到id为6的客户中 */ @Test public void fun1(){ Session session = HibernateUtils.g ...
- 华硕笔记本的U盘启动
开机以后有两种方式: 1:按住ESC键,在弹出的见面直接选择USB启动进入. 2:按F2进BLOS进入,在boot里面原则第一个,找到USB作为第一启动项,再按F10保存一下即可.
- 你所不知道的JSON.stringify
译者按: 老司机们,你知道JSON.stringify还有第二个和第三个可选参数吗?它们是什么呢? 原文: What you didn’t know about JSON.Stringify 译者: ...
- Android为TV端助力 Intent匹配action,category和data原则
1.当你在androidmanifest里面定义了一个或多个action时 你使用隐式意图其他activity或者service时,规定你隐式里面的action必须匹配XML中定义的action,可以 ...
- Visual Studio未能加载“XX”包的解决方案
1.打开命令行(管理员) 2.进入到devenv.exe所在的目录u 3.输入devenv,会出现帮助提示 4.将所有带“Reset..”的命令执行一遍 5.OK 我尝试过使用修复功能,貌似没有作用. ...