一、实验目的
1、了解FTP;
2、掌握通过vsftpd发布访问FTP服务。
二、实验学时
2学时
三、实验类型
综合型
四、实验需求
1、硬件
每人配备计算机1台。
2、软件
Windows操作系统,安装Oracle VM VirtualBox软件,安装Mobaxerm软件。
3、网络
本地主机与虚拟机能够访问互联网,不使用DHCP服务。
4、工具
无。
五、实验任务
1、完成vsftpd的在线安装与配置;
2、完成vsftpd服务的管理;
3、完成通过vsftpd发布访问的FTP服务。
六、实验环境
1、本实验需要VM 1台;
2、本实验VM配置信息如下表所示;

3、本实验拓扑图。
无
4、本实验操作演示视频。
本实验为视频集的第7集:网页链接
七、实验内容及步骤
1、场景描述
创建一个允许用户通过互联网连接到文件共享服务器,并进行文件的上传和下载操作。
需要提供一个安全、可靠且易于使用的FTP服务,以满足用户的文件传输需求。
2、需求描述
(1)支持用户通过互联网进行远程连接。
(2)允许用户进行文件的上传和下载操作。
3、解决方案
(1)使用专业的FTP服务器软件vsftpd。
(2)在服务器上配置防火墙,打开FTP服务所需的端口(一般是21端口)。
(3)配置匿名访问选项,需要允许匿名用户访问。
4、具体部署
(1)使用dnf install命令在线安装vsftpd服务。
(2)使用systemctl启动vsftpd服务,设置为开机自启动并查看服务状态。
(3)使用firewall-cmd命令添加防火墙规则,允许所有客户端可以访问ftp服务,并重新载入防火墙规则使其生效,并将SELinux设置为permissive模式。
(4)使用mkdir创建共享目录/var/ftp/share,设置目录权限为755,并修改目录的所有者和所属组为ftp。
(5)使用cp命令备份vsftpd服务的配置文件vsftpd.conf。
(6)使用vi命令修改vsftpd.conf配置文件发布FTP服务。
(7)使用systemctl restart命令重启vsftpd服务使其配置生效。
# 在线安装vsftpd服务
[root@Lab-10-Task-01 ~]# dnf install -y vsftpd
# 启动vsftpd服务
[root@Lab-10-Task-01 ~]# systemctl start vsftpd
# 设置vsftpd服务为开机自启动
[root@Lab-10-Task-01 ~]# systemctl enable vsftpd
# 查看vsftpd服务状态
[root@Lab-10-Task-01 ~]# systemctl status vsftpd
# 允许所有客户端可以访问ftp服务
[root@Lab-10-Task-01 ~]# firewall-cmd --zone=public --add-service=ftp --permanent
# 重新载入防火墙规则使其生效
[root@Lab-10-Task-01 ~]# firewall-cmd --reload
# 将SELinux设置为permissive模式
[root@Lab-11-Task-01 ~]# setenforce 0
# 创建共享目录,设置目录权限为777,并修改目录的所有者和所属组为ftp并设置用户密码
[root@Lab-11-Task-01 ~]# mkdir -p /var/ftp/share
[root@Lab-11-Task-01 ~]# chmod 777 -R /var/ftp/share
[root@Lab-11-Task-01 ~]# chown ftp:ftp /var/ftp/share
[root@Lab-11-Task-01 ~]# passwd ftp
# 备份vsftpd服务的配置文件vsftpd.conf
[root@Lab-10-Task-01 ~]# cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak1
# 修改vsftpd.conf配置文件发布FTP服务
[root@Lab-10-Task-01 ~]# vi /etc/vsftpd/vsftpd.conf
# --------------------vsftpd.conf文件--------------------
# 允许匿名用户登录
anonymous_enable=YES
# 允许所有登录拥有写权限
write_enable=YES
# 允许匿名用户上传文件
anon_upload_enable=YES
# 允许匿名用户创建目录
anon_mkdir_write_enable=YES
# 允许匿名用户删除、重命名等
anon_other_write_enable=YES
# 权限掩码,匿名用户上传文档时预设的权限掩码
local_umask=022
# --------------------vsftpd.conf文件--------------------
# 重启vsftpd服务使配置生效
[root@Lab-10-Task-01 ~]# systemctl restart vsftpd 5、服务测试
5.1 安装FTP客户端FileZilla
(1)从FileZilla的官方网站(https://www.filezilla.cn)获取FTP客户端可执行程序。
(2)安装完成后,启动FileZilla客户端,在左上角的“主机”输入框中输入“172.20.1.23”,用户名密码留空,端口默认,点击“快速连接”,如图10-1所示。

图 10-1 连接FTP服务
5.2上传文件测试
(1)在Window本地主机创建名为“上传测试.docx”的文件。
(2)将“上传测试.docx”文件上传到FTP服务的/share目录下,如图10-2所示。

图 10-2 上传文件
5.3下载文件测试
(1)在ssh远程终端进入到/var/ftp/pub目录下创建“下载测试.docx”文件。
(2)将FTP服务/pub目录下的“下载测试.docx”文件下载到Windows本地,如图10-3所示。

图10-3 下载文件
5.4 创建、删除和重命名文件测试
(1)在FTP服务/share目录下创建“文本1.txt”文件,创建“目录1”目录。
(2)删除“文本1.txt”文件。
(3)将“目录1”目录重命名为“测试目录”。