FTP服务–用来传输文件的协议(FTP详解,附带超详细实验步骤)

一、FTP协议概念

1、FTP服务器默认使用TCP协议的20、21端口与客户端进行通信

• 20端口用于建立数据连接,并传输文件数据

• 21端口用于建立控制连接,并传输FTP控制命令

2、FTP数据连接分为主动模式和被动模式

• 主动模式: 服务器主动发起数据连接

• 被动模式: 服务器被动等待数据连接

二、FTP配置格式

1、安装FTP

yum install -y vsftpd
cd /etc/vsftpd/
cp vsftpd.conf vsftpd.conf.bak

2、设置匿名用户访问的FTP服务(最大权限):

修改配置文件

vim /etc/vsftpd/vs ftpd.conf             #修改配置文件
anonymous_enable=YES                     #开启匿名用户访问。默认E开启
write enable=YES                                #开放服务器的写权限(若要上传,必须开启)。默认已开启
anon umask=022                                 #设置匿名用户所上传数据的权限掩码(反掩码)
anon_ upload_ enable=YES                 #允许匿名用户.上传文件。默认E已注释,需取消注释
anon_ mkdir_ write_ enable=YES        #允许匿名用户创建(上传)目录。默认已注释,需取消注释
anon other write enable=YES            #允许删除、重命名、覆盖等操作。需添加
chmod 777 / var/ ftp/pub/                #为匿名访问ftp的根目录下的pub子目录设置最大权限,以便匿名用户.上传数据

3、开启服务,关闭防火墙和增强型安全功能

systemctl start vsftpd          #开启FTP服务
systemctl stop firewalld      #关闭防火墙
setenforce 0

4、匿名访问测试

在Windows系统打开开始菜单,输入cmd命令打开命令提示符  

ftp 192.168.80.10    #建立ftp连接 
#匿名访问,用户名为ftp,密码为空,直接回车即可完成登录 ftp> pwd #匿名访问ftp的根目录为Linux系统的/var/ftp/目录 ftp> ls #查看当前目录 ftp> cd pub #切换到pub目录 ftp> get 文件名 #下载文件到当前windows本地目录 ftp> put 文件名 #上传文件到ftp目录 ftp> quit #退出

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

vim /etc/vsftpd/vs ftpd. conf      #修改配置文件
local enable=Yes                        #启用本地用户
anonymous_enable=NO            #关闭匿名用户访问
write enable=YES                       #开放服务器的写权限(若要_上传,必须开启)
local_umask=077                       #可设置仅宿主用户拥有被上传的文件的权限( 反掩码)
chroot_local_user=YES              #将访问禁锢在用户的宿主目录中
allow_writeable_chroot=YES     #允许被限制的用户主目录具有写权限
systemctl restart vsftpd             #重启服务
ftp 192.168.80.10
或者
ftp://zhangsan@192.168.80.10

6、修改匿名用户、本地用户登录的默认根目录  

anon root=/ var/ Www/ html   #anon_ root 针对匿名用户
local root=/ var/www/html     #local_ root 针对系统用户

7、用户列表设置,修改配置文件(黑名单、白名单设置)  

使用user_list 用户列表文件
vim /etc/vsftpd/user_ list             #修改配置文件
zhangsan                                       #在末尾添加zhangsan用户
vim /etc/vsttpd/vsttpd.cont        #修改配置文件
userlist enable=YES                      #启用user_ list用户列表文件
userlist deny=NO                          #设置白名单,仅允许user_ list用户列表文件的用户访问。默认为YES,为黑名单,禁用

三、实例操作

1、查看FTP是否安装,安装FTP(rpm安装)

FTP服务–用来传输文件的协议(FTP详解,附带超详细实验步骤)  

FTP服务–用来传输文件的协议(FTP详解,附带超详细实验步骤)  

2、修改配置文件前找到配置文件并进行备份(一定要记得,良好的习惯从现在开始)

FTP服务–用来传输文件的协议(FTP详解,附带超详细实验步骤) 

FTP服务–用来传输文件的协议(FTP详解,附带超详细实验步骤) 

3、FTP传输文件功能(上传和下载)的测试

3.1 修改配置文件开启匿名登录以及匿名用户可以进行重命名、删除等权限

 FTP服务–用来传输文件的协议(FTP详解,附带超详细实验步骤)

3.2、为匿名访问FTP的根目录下的pub子目录设置最大权限,以便匿名用户上传数据

 FTP服务–用来传输文件的协议(FTP详解,附带超详细实验步骤)

3.3、开启FTP服务并查看状态,关闭防火墙和增强安装功能

 FTP服务–用来传输文件的协议(FTP详解,附带超详细实验步骤)

3.4、匿名用户使用FTP在win10主机进行下载linux主机中的文件的测试

 FTP服务–用来传输文件的协议(FTP详解,附带超详细实验步骤)

 FTP服务–用来传输文件的协议(FTP详解,附带超详细实验步骤)

 FTP服务–用来传输文件的协议(FTP详解,附带超详细实验步骤)

3.5、匿名用户在win10系统中利用FTP将win10的文件上传至linux主机中的测试

FTP服务–用来传输文件的协议(FTP详解,附带超详细实验步骤)

 FTP服务–用来传输文件的协议(FTP详解,附带超详细实验步骤)

 FTP服务–用来传输文件的协议(FTP详解,附带超详细实验步骤)

 FTP服务–用来传输文件的协议(FTP详解,附带超详细实验步骤)

 4、关闭匿名用户,并进行测试匿名用户是否能登录

 4.1 修改配置文件(关闭匿名用户)

FTP服务–用来传输文件的协议(FTP详解,附带超详细实验步骤)

4.2 匿名用户登录测试(关闭之后无法登录)

FTP服务–用来传输文件的协议(FTP详解,附带超详细实验步骤)

 5、新增用户,并禁锢用户(无法切换目录),设置之后测试

 5.1 新增两个用户并设置密码

FTP服务–用来传输文件的协议(FTP详解,附带超详细实验步骤)

5.2 修改配置文件vim ./etc/vsftpd/vsfpd.conf,设置禁锢用户

FTP服务–用来传输文件的协议(FTP详解,附带超详细实验步骤)

FTP服务–用来传输文件的协议(FTP详解,附带超详细实验步骤)

FTP服务–用来传输文件的协议(FTP详解,附带超详细实验步骤)

5.3 测试用户是否能够切换目录(禁锢之后无法切换)

FTP服务–用来传输文件的协议(FTP详解,附带超详细实验步骤)

易错点

FTP服务–用来传输文件的协议(FTP详解,附带超详细实验步骤)

6、设置黑名单、白名单并测试

6.1 修改/etc/vsftpd/user_ list文件,将用户lili添加到用户列表中

FTP服务–用来传输文件的协议(FTP详解,附带超详细实验步骤)

6.2 用户登录测试(默认情况下,加入列表之后即为黑名单)

FTP服务–用来传输文件的协议(FTP详解,附带超详细实验步骤)

6.3 修改FTP配置文件,开启白名单

FTP服务–用来传输文件的协议(FTP详解,附带超详细实验步骤)

6.4 用户登录测试(白名单设置之后,添加列表中的用户即为白名单用户)

FTP服务–用来传输文件的协议(FTP详解,附带超详细实验步骤)

上一篇:Ubuntu18.04安装qemu遇到问题-qemu : Depends: qemu-system (>= 1:2.11+dfsg-1ubuntu7)


下一篇:vxbox开启嵌套虚拟化