参考文章:

CentOS7下安装FTP服务

详解CentOS7安装配置vsftp搭建FTP

centos7之vsftp安装和使用

1、安装vsftp

# 查看是否已安装 方法一
[root@localhost ~]# rpm -q vsftpd
vsftpd-3.0.2-21.el7.x86_64# 查看是否已安装 方法二
[root@localhost ~]# vsftpd -v
vsftpd: version 3.0.2# 安装 vsftpd
[root@localhost ~]# yum -y install vsftpd

查看位置

[root@localhost ~]# whereis vsftpd
vsftpd: /usr/sbin/vsftpd /etc/vsftpd /usr/share/man/man8/vsftpd.8.gz

2. 修改配置文件

vi /etc/vsftpd/vsftpd.conf
#----------------------------------------------------------#
#保证下面3项为YESanonymous_enable=YESanon_upload_enable=YESanon_mkdir_write_enable=YES#其它设置说明
listen_port=12121      # 修改端口号
anon_root= /data/pub   # 本地文件路径, 默认存放到/var/ftp/pub
anonymous_enable=YES   # 允许匿名访问
chroot_local_user=YES  # 启用限定用户在其主目录下NO
use_localtime=YES      # 使用本地时(自行添加)
chroot_list_enable=YES
local_enable=YES      # 允许使用本地帐户进行FTP用户登录验证
allow_writeable_chroot=YES # 如果启用了限定用户在其主目录下需要添加这个配置,# 解决报错 500 OOPS: vsftpd: refusing to run with writable root inside chroot()
xferlog_enable=YES     # 启用上传和下载的日志功能,默认开启。
local_umask=022      # 设置本地用户默认文件掩码022
# FTP上本地的文件权限,默认是077,不过vsftpd安装后的配置文件里默认是022#----------------------------------------------------------#
#多用户配置需要自己手工添加配置,下面内容到vsftpd.conf末尾
use_localtime=YES       # 使用本地时(自行添加)
chroot_local_user=YES   # 启用限定用户在其主目录下
idle_session_timeout=300data_connection_timeout=120 # 数据连接超时时间
guest_enable=YES            # 设定启用虚拟用户功能
guest_username=ftpuser      # 指定虚拟用户的宿主用户 ftpuser(就是我们后面会新建这个用户)
# guest_username=www
# 如果ftp目录是指向网站根目录,用来上传网站程序,
# 可以指定虚拟用户的宿主用户为nginx运行账户www,可以避免很多权限设置问题user_config_dir=/etc/vsftpd/vuser_conf  # 虚拟用户配置文件目录
virtual_use_local_privs=YES # NO时,虚拟用户和匿名用户有相同的权限,默认是NOpasv_min_port=10060     # 被动模式最小端口号10060
pasv_max_port=10090     # 被动模式最大端口号10090accept_timeout=5
connect_timeout=1

2.1 虚拟用户高级参数

当virtual_use_local_privs=YES 时,虚拟用户和本地用户有相同的权限;
当virtual_use_local_privs=NO  时,虚拟用户和匿名用户有相同的权限,默认是NO。
当virtual_use_local_privs=YES,write_enable=YES时,虚拟用户具有写权限(上传、下载、删除、重命名)。
当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=YES,anon_upload_enable=YES时,虚拟用户不能浏览目录,只能上传文件,无其他权限。
当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,anon_upload_enable=NO时,虚拟用户只能下载文件,无其他权限。
当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,anon_upload_enable=YES时,虚拟用户只能上传和下载文件,无其他权限。
当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,anon_mkdir_write_enable=YES时,虚拟用户只能下载文件和创建文件夹,无其他权限。
当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,anon_other_write_enable=YES时,虚拟用户只能下载、删除和重命名文件,无其他权限。

2.1 设置vsftpd开机启动

systemctl enable vsftpd.service

2.2 启动并查看vsftpd服务状态

systemctl start vsftpd.service
systemctl status vsftpd.service

匿名登录

安装完默认情况下是开启匿名登录的,对应的是 /var/ftp 目录,这时只要服务启动了,就可以直接连上FTP了。

默认用户名是ftp,密码是空的。如果你在配置里面配置了anonymous_enable=NO,匿名就无法登录。

$ ftp 192.168.188.114
Connected to 192.168.188.114.
220 (vsFTPd 3.0.2)
Name (192.168.188.114:kennywang): ftp
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
229 Entering Extended Passive Mode (|||47867|).
150 Here comes the directory listing.
-rw-r--r--  1 0    0       12 Jan 18 06:31 README.md
drwxr-xr-x  2 0    0        6 Nov 05 19:43 pub
226 Directory send OK.

4. 本地验证ftp是否可以正常访问

4.1 安装ftp

yum -y install ftp

4.2 使用anonymous登陆,无需密码

ftp localhost

220表示服务正常,可以登陆;230表示登陆成功。

4.3 查看FTP服务器文件夹信息

5. 外部证ftp是否可以正常访问

5.1 关闭防火墙(也可以设置防火墙规则,得再百度了)

systemctl stop firewalld.service

 为防止机器重启后防火墙服务重新开启,可将防火墙服务永久关闭。

systemctl disable firewalld.service

5.2 在window上输入ftp://IP地址,可看到ftp下的目录(pub为系统预设的)

我们设置了匿名访问的目录是/data/pub里面,还是上传不了文件,有人说直接改成777就可以,但是改成777就无法访问了,这是由于vsftpd的安全性设置,我们需要在pub里面再创建一个upload的文件(文件夹名字随便起),给他一个777的权限就OK了。

6 关闭firewall和SELinux

到上面为止,我们发现ftp目录下并不能读写文件,这是由文件夹权限和selinux引起的。

6.1 关闭或设置防火墙

systemctl stop firewalld.service
#停止firewall
systemctl disable firewalld.service
#禁止firewall开机启动#或者放开防火墙添加FTP服务。
firewall-cmd --permanent --zone=public --add-service=ftp
firewall-cmd --reload

设置文件夹权限,将pub文件夹的权限设置为777

chmod 777 -R /var/ftp/pub

6.2 关闭selinux服务

setenforce 0  # 设置SELinux 成为permissive模式 (关闭SELinux)
setenforce 1  # 设置SELinux 成为enforcing模式  (开启SELinux)# 或者修改配置
vi /etc/selinux/config
# SELINUX=enforcing
# 注释掉
# SELINUXTYPE=targeted
# 注释掉
SELINUX=disabled
# 增加
:wq! #保存退出
setenforce 0#==============================================#
#或者设置SELinux
getsebool -a | grep ftp
setsebool -P ftpd_full_access on

将SELINUX=enforcing改为:SELINUX=disabled

6.3 系统重启,让配置生效

shutdown -r now

6.4 上传文件

centos7安装配置vsftp搭建FTP相关推荐

  1. 详解CentOS7安装配置vsftp搭建FTP

    安装配置vsftpd做FTP服务,我们的Web应用使用git管理进行迭代,公共文件软件存储使用开源网盘Seafile来管理,基本够用.想不到FTP的使用的场景,感觉它好像老去了,虽然现在基本没有用到这 ...

  2. linux搭建vsftp服务器_Linux安装配置vsftp搭建FTP的详细配置

    这里主要是说vsftp的配置:基础的可以参考Linux中VSFTP的配置 转自:https://www.jb51.net/article/103904.htm 修改配置文件 配置文件/etc/vsft ...

  3. CentOS7安装配置VSFTP

    1 #是否开启匿名用户,匿名都不安全,不要开 2 anonymous_enable=NO 3 #允许本机账号登录FTP 4 local_enable=YES 5 #允许账号都有写操作 6 write_ ...

  4. CentOS 7安装配置vsftp并搭建FTP(一)

    一.vsftp安装环境 vsftp-VSFTP是一个基于GPL发布的类Unix系统上使用的FTP服务器软件.关于这个软件的详细信息大家可以自行百度. 以上自己安装vsftp系统环境 二.查看自己的服务 ...

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

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

  6. CentOS7 安装配置SFTP服务器详解

    CentOS7 安装配置SFTP服务器详解 1.SFTP简介 SSH文件传输协议(英语:SSH File Transfer Protocol,也称Secret File Transfer Protoc ...

  7. CentOS 7.0安装配置Vsftp服务器

    2019独角兽企业重金招聘Python工程师标准>>> 一.配置防火墙,开启FTP服务器需要的端口 CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptable ...

  8. Centos7 安装配置 tomcat 并设置自动启动

    Centos7 安装配置 tomcat 并设置自动启动 下载安装包 这里选择适合Linux的安装包,下载到本地后上传到centos服务器,或者直接通过wget命令下载 1 2 3 4 # cd /us ...

  9. vnc安装linux教程,Centos7安装配置vncserver详细教程

    CentOS7安装配置vncserver教程 一.安装VNC 首先要保证目标服务器安装有图形化环境,Linux系统下常见的桌面环境有GNOME和KDE,这里我们首先通过Group的方式安装GNOME桌 ...

最新文章

  1. 【渝粤教育】广东开放大学 劳动关系理论与实务 形成性考核 (1)
  2. PyQt5 QTableView 全部item居中
  3. Socket网络编程(TCP/IP/端口/类)和实例
  4. Spring Boot application.yml文件语法
  5. 解读【ICLR2020】多伦多大学:基于策略网络的探索模型规划
  6. TP LINK交换机 console 超级终端链接设置
  7. 曼昆经济学原理_第五版[1].txt.doc
  8. 【每日一网】Day4:OverFeat流程简单理解
  9. 2020-06-20
  10. 大数据时代是什么意思?
  11. Nginx的try_files指令详解
  12. Pollard rho整数分解法
  13. mysql cpu 高 原因 汇总_MySQL CPU 使用率高的原因和解决方法(来自aliyun官方文档)
  14. 什么是数据库索引,索引有什么作用
  15. Java面向对象题库
  16. StreamWiki: Enabling Viewers of Knowledge SharingLive Streams to Collaboratively Generate Archival
  17. Hessian矩阵及局部极小点的条件
  18. 思科、IBM、甲骨文、Uber相继裁员,寒冬将至 ?
  19. 【make】make常见问题
  20. 01-如何选购CPU散热器?小白装机通俗易懂的水冷/风冷CPU散热器知识

热门文章

  1. 喜报丨京东科技主导的开源项目ShardingSphere荣登报告榜单国人主导开源项目中活跃度第五名!...
  2. 华兴数控g71外圆循环编程_数控G71内外圆粗车循环指令教案
  3. 由乌龟画一个正方形所想到的
  4. C++jump game跳跃游戏的算法(附完整源码)
  5. 论文阅读笔记:(2022.05) Observability-Aware Intrinsic and Extrinsic Calibration of LiDAR-IMU Systems
  6. 百度智能云章淼:详解企业级七层负载均衡开源软件BFE
  7. vue + elementui +sass+axios做卖座网的后台管理系统
  8. 《Android Studio开发实战》学习(三)- 展示图片
  9. Uniapp-微信小程序实现全局事件监听并进行数据埋点
  10. openlayers 计算绘制的矢量多边形的面积 (getArea方法)