1、案例目标
(1)了解FTP服务的安装。
(2)了解FTP的配置与使用。
2、案例分析
2.1、规划节点
Linux操作系统的单节点规划,见表3-3-1。
IP | 主机名 | 节点 |
192.168.20.17 | localhost | Linux服务器节点 |
表3-3-1 节点规划
2.2、基础准备
使用本地PC环境的VMWare Workstation软件进行实操练习,镜像使用提供的CentOS-7-x86_64-DVD-2009,硬件资源如图3-1-1所示。
图3-1-1 硬件资源
3、案例实施
3.1、配置YUM源
回到VMware Workstation界面,将CD设备进行连接,右击打开快捷菜单,选择“可移动设备”→“CD/DVD(IDE)” →“连接”命令,如图3-3-2所示。
图3-3-2 连接CD设备
回到虚拟机界面,将CentOS-7-x86_64-DVD-2009镜像上传至虚拟机上,并挂载到/opt/centos(可自行创建)目录下,命令如下:
[root@localhost ~]# mkdir /opt/centos
[root@localhost ~]# mount CentOS-7-x86_64-DVD-2009.iso /opt/centos/
mount: /dev/loop0 is write-protected, mounting read-only
[root@localhost ~]# ll /opt/centos
total 696
-rw-r--r--. 3 root root 14 Oct 30 2020 CentOS_BuildTag
drwxr-xr-x. 3 root root 2048 Oct 27 2020 EFI
-rw-rw-r--. 21 root root 227 Aug 30 2017 EULA
-rw-rw-r--. 21 root root 18009 Dec 10 2015 GPL
drwxr-xr-x. 3 root root 2048 Oct 27 2020 images
drwxr-xr-x. 2 root root 2048 Nov 3 2020 isolinux
drwxr-xr-x. 2 root root 2048 Oct 27 2020 LiveOS
drwxr-xr-x. 2 root root 673792 Nov 4 2020 Packages
drwxr-xr-x. 2 root root 4096 Nov 4 2020 repodata
-rw-rw-r--. 21 root root 1690 Dec 10 2015 RPM-GPG-KEY-CentOS-7
-rw-rw-r--. 21 root root 1690 Dec 10 2015 RPM-GPG-KEY-CentOS-Testing-7
-r--r--r--. 1 root root 2883 Nov 4 2020 TRANS.TBL
配置本地YUM源文件,先将/etc/yum.repos.d/下的文件先移走,然后创建local.repo文件,命令如下:
[root@localhost ~]# mv /etc/yum.repos.d/* /media/
[root@localhost ~]# vi /etc/yum.repos.d/local.repo
[root@localhost ~]# cat /etc/yum.repos.d/local.repo
[centos]
name=centos
baseurl=file:///opt/centos
gpgcheck=0
enabled=1
[root@localhost ~]# yum clean all && yum repolist
Loaded plugins: fastestmirror
Cleaning repos: centos
Cleaning up everything
Maybe you want: rm -rf /var/cache/yum, to also free up space taken by orphaned data from disabled or removed repos
Loaded plugins: fastestmirror
Determining fastest mirrors
centos | 3.6 kB 00:00:00
(1/2): centos/group_gz | 153 kB 00:00:00
(2/2): centos/primary_db | 3.3 MB 00:00:00
repo id repo name status
centos centos 4,070
repolist: 4,070
至此,YUM源配置完毕。
3.2、安装FTP服务
使用命令安装FTP服务,命令如下:
[root@localhost ~]# yum install vsftpd -y
安装完成后,编辑FTP服务的配置文件,在配置文件的最上面,添加一行代码,命令如下:
[root@localhost ~]# vi /etc/vsftpd/vsftpd.conf
[root@localhost ~]# cat /etc/vsftpd/vsftpd.conf
anon_root=/opt
# Example config file /etc/vsftpd/vsftpd.conf
#
......
......
启动vsftp服务,命令如下:
[root@localhost ~]# systemctl start vsftpd
[root@localhost ~]# netstat -ntpl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1016/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1294/master
tcp6 0 0 :::21 :::* LISTEN 89273/vsftpd
tcp6 0 0 :::22 :::* LISTEN 1016/sshd
tcp6 0 0 ::1:25 :::* LISTEN 1294/master
[root@localhost ~]#
使用netstat -ntpl命令可以看到vsftpd的21端口。(若无法使用netstat命令,可自行安装net-tools工具)
在使用浏览器访问FTP服务之前,还需要关闭SELinux和防火墙,命令如下:
[root@localhost ~]# setenforce 0
[root@localhost ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
解析:
systemctl stop firewalld 为暂时关闭防火墙,systemctl disable firewalld 为永久关闭防火墙。setenforce 0为临时关闭selinux,sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config为永久关闭selinux。
3.3、FTP服务的使用
使用本地资源管理器访问ftp://192.168.20.17,如图3-3-3所示。
如图3-3-3 FTP界面
可以查看到/opt目录下的文件,都被FTP服务成功共享。
进入虚拟机的/opt目录,创建1.txt文件,刷新资源管理器界面,可以看到新创建的文件,如图3-3-4所示。
[root@localhost ~]# cd /opt/
[root@localhost opt]# ls
centos
[root@localhost opt]# touch 1.txt
[root@localhost opt]# ls
1.txt centos
如图3-3-4 刷新的FTP界面
关于FTP服务的使用,简单来说,就是将用户想共享的文件或者软件包,放入共享目录即可。
注:
- FTP传输默认不加密,易受到窃听和中间人攻击。
- 管理端口时注意主动和被动模式对端口使用的差异。
- 经常检查和更新FTP服务软件以防止已知漏洞被利用。