手动搭建FTP站点(CentOS 8)
手动搭建FTP站点(CentOS 8)
Vol.
01.
”
实验步骤:
背景信息
步骤一:安装vsftpd
步骤二:配置vsftpd
步骤三:关闭防火墙
步骤四:客户端测试
”
1
背景信息
FTP(File Transfer Protocol)是一种文件传输协议,基于客户端/服务器架构,支持以下两种工作模式:
主动模式:客户端向FTP服务器发送端口信息,由服务器主动连接该端口。
被动模式:FTP服务器开启并发送端口信息给客户端,由客户端连接该端口,服务器被动接受连接。
FTP支持以下三种认证模式:
匿名用户模式:任何人无需密码验证就可以直接登录到FTP服务器。这种模式最不安全,一般只用来保存不重要的公开文件,不推荐在生产环境中使用。
本地用户模式:通过Linux系统本地账号进行验证的模式,相较于匿名用户模式更安全。
虚拟用户模式:FTP服务器的专有用户。虚拟用户只能访问Linux系统为其提供的FTP服务,而不能访问Linux系统的其它资源,进一步增强了FTP服务器的安全性。
(本次实验主要设置本地用户模式)
2
安装vsftpd
1.运行以下命令安装vsftpd:
yum -y install vsftpd
出现如下图所示界面时,表示安装成功:
2.运行以下命令设置FTP服务开机自启动:
3.运行以下命令启动FTP服务:
systemctl start vsftpd.service
4.运行以下命令查看FTP服务监听的端口:
netstat -antup | grep ftp
5.出现如下图所示界面,表示FTP服务已启动,监听的端口号为21:
此时,vsftpd默认已开启本地用户模式,您还需要继续进行配置才能正常使用FTP服务。
3
配置vsftpd(本地用户模式)
1.运行以下命令为FTP服务创建一个Linux用户。本示例中,该用户名为ftptest:
useradd ftptest
2.运行以下命令修改ftptest用户的密码:
passwd ftptest
3.运行以下命令创建一个供FTP服务使用的文件目录(重要):
mkdir /var/ftp/test
4.运行以下命令更改/var/ftp/test目录的拥有者为ftptest:
chown -R ftptest:ftptest /var/ftp/test
(-R 表示test目录下的所有文件夹所有权限都是ftptest拥有)
4
修改vsftpd.conf配置文件
(先备份vsftpd.conf配置文件)
cp /etv/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
1.运行以下命令打开配置文件:
vim /etc/vsftpd/vsftpd.conf
2.根据如下内容,修改或添加相关配置参数:
#除下面提及的参数外,其他参数保持默认值即可。
#修改下列参数的值
#禁止匿名登录FTP服务器:
anonymous_enable=NO
#允许本地用户登录FTP服务器:
local_enable=YES
#监听IPv4 sockets:
listen=YES
#在行首添加#注释掉以下参数,关闭监听IPv6: sockets
#listen_ipv6=YES
#全部用户限制在主目录:
chroot_local_user=YES
#启用例外用户名单(默认开,不用改):
#chroot_list_enable=YES
#指定例外用户列表文件,列表中用户不被锁定在主目录(默认开,不用改):
#chroot_list_file=/etc/vsftpd/chroot_list
#添加下列参数#设置本地用户登录后所在目录:
local_root=/var/ftp/test
#开启被动模式:
pasv_enable=YES
allow_writeable_chroot=YES
#建立数据传输可使用的端口范围的最小值
pasv_min_port=65300
#设置被动模式下,建立数据传输可使用的端口范围的最大值
pasv_max_port=65400
#限制连接的客户端数:
max_clients=10
#限制每个客户端IP连接个数:
max_per_ip=2
#限制本地用户传输速度:
local_max_rate=1000000
5
关闭防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service
6
关闭SELinux
SELinux(Security-Enhanced Linux) 是美国国家安全局(NSA)对于强制访问控制的实现,是 Linux历史上最杰出的新安全子系统。
操作前先备份:
cp /etc/selinux/config /etc/selinux/config.backup
任选其一:
临时关闭SElinux:
setenforce 0
永久关闭SElinux:
vim /etc/selinux/config ==>SELINUX=disable
7
重启vsftpd服务
I
systemctl restart vsftpd.service
8
本地windows网页端访问or资源管理器访问
浏览器访问:
ftp://服务器网址
资源管理器访问:
ftp://服务器网址
9
远程图形窗口访问(前提要有公网IP和开启DDNS)
1.安装WinScp
https://winscp.net/eng/download.php