Centos7系统搭建FTP服务详细过程

  • 1. FTP服务简介
  • 1.1 FTP服务的作用
  • 1.2 FTP服务使用的端口
  • 1.3 FTP服务数据连接方式
  • 1.4 搭建FTP服务大概步骤(命令部分)
  • 1.5 实验:搭建FTP服务详细步骤


1. FTP服务简介

1.1 FTP服务的作用

用来传输文件的协议,FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”。用于Internet上的控制文件的双向传输。同时,它也是一个应用程序(Application)。基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议以传输文件。在FTP的使用当中,用户经常遇到两个概念:”下载”(Download)和”上传”(Upload)。

1.2 FTP服务使用的端口

FTP服务器默认使用TCP协议的20、21端口与客户端进行通信
20端口用于建立数据连接,并传输文件数据
21端口用于建立控制连接,并传输FTP控制命令

1.3 FTP服务数据连接方式

FTP数据连接分为主动模式和被动模式
主动模式:服务器主动发起数据连接
被动模式:服务器被动等待数据连接

1.4 搭建FTP服务大概步骤(命令部分)

  1. 安装vsftpd服务
yum install -y vsftpd					#安装vsftpd服务
cd /etc/vsftpd/							#切换到vsftpd目录
cp vsftpd.conf vsftpd.conf.bak			#对原文件进行复制作为备份
  1. 设置匿名用户访问的FTP服务(最大权限)
vim /etc/vsftpd/vsftpd.conf			#修改配置文件

anonymous_enable=YES				#开启匿名用户访问。默认已开启
write_enable=YES					#开放服务器的写权限(若要上传,必须开启)。默认已开启
anon_umask=022						#设置匿名用户所上传数据的权限掩码(反掩码),需手动添加
anon_upload_enable=YES				#允许匿名用户.上传文件。默认已注释,需取消注释
anon_mkdir_write_enable=YES			#允许匿名用户创建(上传)目录。默认已注释,需取消注释
anon_other_write_enable=YES			#允许删除、重命名、覆盖等操作。需添加
  1. 设置pub子目录权限和开启/关闭相关服务
chmod 777 /var/ftp/pub/
[root@cheng0307 ~]# systemctl start vsftpd
[root@cheng0307 ~]# systemctl stop firewalld.service 
[root@cheng0307 ~]# setenforce 0
  1. 匿名访问测试
Windows系统打开cmd命令提示符
#建立ftp连接
ftp 192.168.80.77
匿名访问,用户名为ftp,密码为空,直接回车即可完成登录
ftp> pwd .
#匿名访问ftp的根目录为Linux系统的/var/ftp/目录
ftp> ls					#查看当前目录
ftp> cd pub				#切换到pub目录
ftp> get文件名			#下载文件到当前Windows本地目录
ftp> put文件名			#_上传文件到ftp目录
ftp> quit				#退出

5.设置本地用户验证访问发图片,并禁止切换到ftp以外的目录(默认登录的根目录为本地用户的家目录)

vim /etcvsftpd/vsftpd.conf				#修改配置文件

local_enable=YES						#启用本地用户
anonymous_enable=no						#关闭匿名用户访问
write_enable=YES						#开放服务器的写权限(若要上传,必须开启)
local_umask=077							#可设置仅宿主用户拥有被上传的文件的权限(反掩码)
chroot_local_user=YES					#将访问禁锢在用户的宿主目录中
allow_writeable_chroot=yes				#允许被限制的用户主目录具有写权限
  1. 重启服务
systemctl restart vsftpd
  1. 用户访问测试
创建用户zhangsan 
useradd zhangsan
passwd zhangsan
  1. 可设置白名单
vim /etc/vsftpd/vsftpd.conf 		    #修改配置文件
userlist_enable=YES						#启动user_list用户列表文件
userlist_deny=NO						#设置白名单,仅允许user_list用户列表文件的用户访问,默认为yes,为黑名单,禁用

vim /etc/vsftpd/user_list 				#修改白名单,将允许访问的用户名添加到末尾即可

1.5 实验:搭建FTP服务详细步骤

  1. 安装vsftpd服务
  2. centos 传入文件无权限 centos上传文件至ftp服务器_运维

  3. 设置匿名用户访问的FTP服务(最大权限)
  4. centos 传入文件无权限 centos上传文件至ftp服务器_运维_02

  5. 设置pub子目录权限和开启/关闭相关服务
  6. centos 传入文件无权限 centos上传文件至ftp服务器_运维_03

  7. 匿名访问测试windows系统打卡命令提示符。
  8. centos 传入文件无权限 centos上传文件至ftp服务器_运维_04

  9. 设置本地用户验证访问发图片,并禁止切换到ftp以外的目录(默认登录的根目录为本地用户的家目录),修改以下配置:
  10. centos 传入文件无权限 centos上传文件至ftp服务器_ftp_05


  11. centos 传入文件无权限 centos上传文件至ftp服务器_centos_06


  12. centos 传入文件无权限 centos上传文件至ftp服务器_centos_07

  13. 重启服务
  14. centos 传入文件无权限 centos上传文件至ftp服务器_ftp_08

  15. 用户访问测试
  16. centos 传入文件无权限 centos上传文件至ftp服务器_运维_09


  17. centos 传入文件无权限 centos上传文件至ftp服务器_centos 传入文件无权限_10

  18. 设置访问白名单(配置完记得重启服务)
  19. centos 传入文件无权限 centos上传文件至ftp服务器_linux_11


  20. centos 传入文件无权限 centos上传文件至ftp服务器_centos 传入文件无权限_12

  21. 测试白名单
  22. centos 传入文件无权限 centos上传文件至ftp服务器_linux_13