一、项目概述
项目名称:web 网站
项目时间:2022.7.18-2022.7.24
项目需求:
- ① 客户端使用kickstart部署4台虚拟机(centos7.9),所有服务器IP都为静态IP。
- ② 客户端使用XShell的密钥登陆跳板机
- ③ 所有后端服务器全部通过跳板机来控制配置,使用秘钥登录,且不允许使用root登陆。
- ④ 所有SSH服务端口号为2222
- ⑤ 部署2台apache服务器,分别搭建2个web站点,www.test.com,www.test.cn, 相同的站点提供一样的内容,使用rsync做实时同步。
- ⑥ 在web服务器上搭建FTP服务器,用来上传网站页面
- ⑦ 搭建DNS服务器,解析www.test.com和www.test.cn
- ⑧ 在dns服务器上搭建nfs服务器,在apache1挂载nfs/data目录,定时把你的web目录打包压缩放到/data目录下,删除/date目录10天以前的压缩包。
二、项目拓扑
三、环境规划
主机名称 | 主机IP | 主机提供的服务 |
ZLM_Client | 192.168.137.200 | Kickstart,dhcp,tftp,ftp,ssh |
ZLM_TB | 192.168.137.201 | SSH,vstftp,ftp |
ZLM_DNS | 192.168.137.202 | SSH,DNS,NFS,定时任务 |
ZLM_Web01 | 192.168.137.203 | SSH,Apache,FTP,Rsync,DNS,NFS |
ZLM_Web02 | 192.168.137.204 | SSH,Apache,FTP,Rsync,DNS |
四、实现流程
1、Client 主机
a. 前期准备
① 更改主机名称
vim /etc/hostname
ZLM_Client
② 关闭防火墙和selinux
# 关闭防火墙
systemctl stop firewalld
systemctl diable firewalld
③ 关闭Vmware中dhcp功能
④ 配置本地Yum源
vim /etc/yum.repos.d/centos.repo
[development]
name=centos_7
baseurl=file:///mnt/cdrom
enabled=1
gpgcheck=0
# 清空本地yum缓存
yum clean all
# 加载本地仓库
yum repolist
b. 安装 dhcp 服务
① 安装配置 dhcp服务
# 安装dhcp
yum install -y dhcp
# 创建dhcp配置文件(赋值)
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
# 编辑DHCP配置文件
vim /etc/dhcp/dhcpd.conf
# dhcpd.conf
#
# Sample configuration file for ISC dhcpd
option domain-name "example.org";
option domain-name-servers 114.114.114.114,8.8.8.8;
default-lease-time 600;
max-lease-time 7200;
log-facility local7;
subnet 192.168.137.0 netmask 255.255.255.0 {
# 配置起始IP地址和结束IP地址
range 192.168.137.201 192.168.137.210;
# 为客户端指定默认的网关
option routers 192.168.137.2;
# 指定tftp服务器ip地址
next-server 192.168.137.200;
# 指定要从tftp服务器上下载的启动文件
filename "pxelinux.0";
}
② 启动服务
# 启动服务并设置开机自启动
systemctl start dhcpd
systemctl enable dhcpd
# 查看端口
netstat -antup | grep dhcpd
c. 安装 tftp 服务
① 安装配置 tftp 服务
# 安装 tftp xinetd 服务
yum install -y tftp-server xinetd
# 编辑配置文件,将 disable 修改为 no
vim /etc/xinetd.d/tftp
# 启动服务并设置开机自启动
systemctl start xinetd
systemctl enable xinetd
# 查看tftp端口
netstat -antup | grep 69
d. 安装 ftp 服务
# 安装vsftpd
yum install -y vsftpd
# 启动vsftpd服务
systemctl start vsftpd
systemctl enable vsftpd
# 镜像文件挂载至 /var/ftp/pub
mount /dev/sr0 /var/ftp/pub
# 查看服务端口
netstat -antup | grep vsftpd
注意:一定要将镜像文件挂载至 /var/ftp/pub,否则找不到镜像文件
e. 安装kickstart 服务
① 安装kickstart syslinux
# 安装kickstart syslinux
yum install -y system-config-kickstart syslinux
② 配置使用PXE启动所需的相关文件
# 将pxelinux.0 赋值到 /var/lib/tftpboot
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot
# 赋值pxe启动文件至 tftpboot中
cp /mnt/cdrom/images/pxeboot/* /var/lib/tftpboot
# 赋值镜像配置文件 至 pxelinux.cfg 中
mkdir /var/lib/tftpboot/pxelinux.cfg
cp /mnt/cdrom/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
# 编辑配置文件
vim /var/lib/tftpboot/pxelinux.cfg/default
# 第一行
default linux
# 第61行
label linux
menu label ^Install CentOS 7
kernel vmlinuz
# inst.repo:指定客户端安装操作系统所使用软件包的下载地址
# inst.ks:指定kickstart生成的自动应答文件存放地址
append initrd=initrd.img inst.repo=ftp://192.168.137.5/pub inst.ks=ftp://192.168.137.5/ks.cfg
③ 生成 ks.cfg 文件
# 安装完毕后xhell重新连接服务器
yum install -y xorg-x11-xauth
# 安装语言包,防止出现乱码
yum groupinstall -y "fonts"
# 启动服务,生成ks.cfg文件
system-config-kickstart
注意:生成应答文件之前,电脑先要安装XManager
验证:默认
防火墙配置:关闭防火墙、关闭selinux
显示配置:取消图形环境
软件包选择:系统 -> 基本安装
预安装脚本:无
安装后要执行的脚本
⑫ 点击file -> save -> 下图配置 -> save
f. 创建新的虚拟机
- 将内存更改为2G
- 先取消绑定光盘
- 仅主机模式,取消dhcp
- 进入无人值守安装,安装完成挂载镜像,重新启动虚拟机。
g. ssh 服务配置
① 生成密钥对,将公钥上传至TB主机,以后使用秘钥登录TB主机
# Client客户机生成密钥对
ssh-keygen -t rsa
# 上传公钥到TB主机
ssh-copy-id -i root@192.168.137.201
2、TB 主机
注意:启动主机时虚拟机需要连接镜像文件
a. 前期准备
① 主机名称为ZLM_TB
vim /etc/hostname
ZLM_TB
② 更改网卡配置
③ 创建登录后端机的用户
# 创建用户
useradd tb_user
# 设置用户密码
echo "tb_user:123456" | chpasswd
# 给tb_user提权
vim /etc/sudoers
tb_user ALL(ALL)
b. 配置 ssh 服务
① 修改 sshd 访问控制配置文件:只允许ZLM_Client登录跳板机
# 修改/etc/hosts.deny配置文件,拒绝所有用户
vim /etc/hosts.deny
sshd:all:deny
# 修改/etc/hosts.allow配置文件,sshd服务允许ZLM_Client主机访问
vim /etc/hosts.allow
sshd:192.168.137.200:allow
② 更改sshd服务的端口为2222,并且拒绝使用root用户登录(未做)
③ TB主机生成秘钥对,并上传至DNS主机、Web01主机、Web02主机
c. 配置 ftp 服务
# 安装 vsftp
yum intall -y vsftpd
# 启动服务
systemctl start vsftpd
systemctl enable vsftpd
# 将httpd复制到ftp目录
cp /root/httpd-2.4.54.tar.gz /var/ftp/pub
3、DNS 主机
a. 前期准备
注意:启动主机时虚拟机需要连接镜像文件
① 主机名称为ZLM_DNS
vim /etc/hostname
ZLM_DNS
② 更改网卡配置
③ 创建tb_user用户 只允许TB主机使用此用户登录DNS主机
# 创建用户
useradd tb_user
# 设置密码
echo "tb_user:123456" | chpasswd
# 给此用户提权
vim /etc/sudoers
tb_user ALL=(ALL) NOPASSWD:ALL
b. 配置 sshd 服务
① 设置访问控制列表,只允许TB主机登录DNS主机
# 拒绝所有主机使用sshd访问DNS主机
vim /etc/hosts.deny
sshd:all:deny
# 允许TB主机使用sshd访问DNS主机
vim /etc/hosts.allow
sshd:192.168.137.201:allow
② 更改sshd服务的端口为2222,并且拒绝使用root用户登录
vim /etc/ssh/sshd_config
port=2222
DenyUsers root
c. 配置 DNS 服务
① 安装服务
sudo yum install -y bind bind-chroot bind-utils
② 修改配置文件
vim /etc/named.conf
options {
listen-on port 53 { any; };
listen-on-v6 port 53 { any; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
recursing-file "/var/named/data/named.recursing";
secroots-file "/var/named/data/named.secroots";
allow-query { any; };
forwards { 114.114.114.114; 8.8.8.8 };
recursion yes;
dnssec-enable yes;
dnssec-validation yes;
/* Path to ISC DLV key */
bindkeys-file "/etc/named.root.key";
managed-keys-directory "/var/named/dynamic";
pid-file "/run/named/named.pid";
session-keyfile "/run/named/session.key";
};
zone "test.com" IN {
# 类型为主区域
type master;
# 区域数据文件名
file "test.com.zone";
};
zone "test.cn" IN {
type master;
file "test.cn.zone";
};
# 反向 192.168.137.0/24区域
zone "137.168.192.in-addr.arpa" IN {
type master;
file "192.168.137.arpa";
};
# 检查配置文件语法是否正确
sudo named-checkconf /etc/named.conf
③ 配置区域正向解析文件
# 配置 test.com 区域正向文件
cp /var/named.localhost /var/named/test.com.zone
$TTL 1D
@ IN SOA test.com. test.gmail.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
IN NS ns
ns IN A 192.168.137.202
www IN A 192.168.137.203
www IN A 192.168.137.204
# 配置 test.cn 区域正向文件
cp /var/named.localhost /var/named/test.cn.zone
$TTL 1D
@ IN SOA test.cn. test.gmail.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
IN NS ns
ns IN A 192.168.137.202
www IN A 192.168.137.203
www IN A 192.168.137.204
④ 配置 区域反向解析文件
cp /var/named.localhost /var/named/192.168.137.arpa
$TTL 1D
@ IN SOA test.com. hualulemon.gmail.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
IN NS test.com.
203 IN PTR www.test.com.
203 IN PTR www.test.cn.
204 IN PTR www.test.com.
204 IN PTR www.test.cn.
⑤ 启动服务设置开机自启动
systemctl restart named
systemctl enable named
⑥ 测试DNS解析
d. 配置 NFS 服务
① 安装 NFS 服务
# 服务端安装服务
sudo yum install -y nfs-utils rpcbind
# 启动服务
sudo systemctl start rpcbind
sudo systemctl enable rpcbind
sudo systemctl start nfs
sudo systemctl enable nfs
② 创建共享目录并设置权限
sudo mkdir /data
sudo chmod a+x /data
sudo chown -R tb_user:tb_user /data
③ 编辑 nfs 主配置文件
sudo vim /etc/exports
/opt/data 192.168.137.0/24(rw,sync,all_squash,anonuid=1000,anongid=1000)
④ 重启服务
sudo systemctl reload nfs
# 查看 NFS 服务器共享目录
sudo showmount -e localhost
4、WEB01 主机
注意:启动主机时虚拟机需要连接镜像文件
a. 前期准备
① 主机名称为ZLM_Web01
vim /etc/hostname
ZLM_Web01
② 更改网卡配置
③ 创建tb_user用户 只允许TB主机使用此用户登录DNS主机
# 创建用户
useradd tb_user
# 设置密码
echo "tb_user:123456" | chpasswd
# 给此用户提权
vim /etc/sudoers
tb_user ALL=(ALL) NOPASSWD:ALL
b. 配置 sshd 服务
① 设置访问控制列表,只允许TB主机登录DNS主机
# 拒绝所有主机使用sshd访问DNS主机
vim /etc/hosts.deny
sshd:all:deny
# 允许TB主机使用sshd访问DNS主机
vim /etc/hosts.allow
sshd:192.168.137.201:allow
② 更改sshd服务的端口为2222,并且拒绝使用root用户登录
vim /etc/ssh/sshd_config
port=2222
DenyUsers root
c. ftp 下载软件包
① 使用ftp服务从TB主机下载所有的安装包和脚本
# 安装ftp服务
yum install -y ftp
# 下载所有文件
wget ftp://192.168.137.201/pub/* --ftp-user=ftp -r
d. 脚本安装apache
① 安装apache
# 使用脚本安装apache
sudo chmod +x apache_install.sh
sudo ./apache_install.sh
② 开启虚拟主机功能
# 编辑Apache配置文件
vim /usr/local/apache/conf/httpd.conf
# 去掉文件中的这行注释,如果没有此行,手写此行
Include conf/extra/httpd-vhosts.conf
③ 更改虚拟主机配置文件
# 备份配置文件
cp /usr/local/apache/conf/extra/httpd.vhosts.conf /usr/local/apache/conf/extra/httpd.vhosts.conf.bak
# 编辑虚拟配置文件
sudo vim /usr/local/apache/conf/extra/httpd.vhosts.conf
<VirtualHost www.test.cn:80>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot "/usr/local/apache/htdocs/www/test/com"
ServerName www.test.com
ErrorLog "logs/www/test.com-error_log"
CustomLog "logs/www/test.com-access_log" common
<Directory htdocs/www/test/com>
Require all granted
</Directory>
</VirtualHost>
<VirtualHost www.test.cn:80>
ServerAdmin webmaster@dummy-host2.example.com
DocumentRoot "/usr/local/apache/htdocs/www/test/cn"
ServerName www.test.cn
ErrorLog "logs/www/test.cn-error_log"
CustomLog "logs/www/test.cn-access_log" common
<Directory htdocs/www/test/cn>
Require all granted
</Directory>
</VirtualHost>
④ 创建两个web站点和日志目录
# 创建web站点目录
sudo mkdir -p www/test/{cn,com}
# 创建页面
vim /usr/local/apache/htdocs/www/test/com/index.html
This page is www.test.com
vim /usr/local/apache/htdocs/www/test/cn/index.html
This page is www.test.cn
# 创建log目录
sudo mkdir -p /usr/local/apache/logs/www/test/{cn,com}
⑤ 在apache主配置文件中添加服务名称
# 添加服务名称
vim /usr/local/apache/conf/httpd.conf
# 添加服务网站
ServerName www.test.com:80
ServerName www.test.cn:80
⑥ 配置hosts映射文件
vim /etc/hosts
192.168.137.204 www.test.com
192.168.137.204 www.test.cn
⑦ 检测虚拟主机文件语法
httpd -t
⑧ 修改Windows映射文件
C:\Windows\System32\drivers\etc\hosts
192.168.137.204 www.test.com
192.168.137.204 www.test.cn
e. 配置 rsync 备份服务器
① 修改服务配置文件
sudo vim /etc/rsyncd.conf
#运行进程的身份
uid = root
# 运行进程的组
gid = root
# 监听ip
address = 192.168.137.203
# 监听端口
port = 873
# 允许同步客户端的IP地址,可以使网段
hosts allow = 192.168.137.0/24
# 锁定家目录
use chroot = yes
# 最大连接数
max connections = 5
# PID文件
pid file = /var/run/rsyncd.pid
# 指定 max connections 参数的锁文件
lock file = /var/run/sync.lock
# 日志文件位置
log file = /var/log/syncd.log
# 客户端登录之后弹出的消息,需要创建
motd file = /etc/rsyncd.motd
# 共享模块名称
[www]
# 备份路径
path = /opt/backup
# 描述
comment = backup apache's html
# 设置服务端文件读写权限
read only = false
# 是否允许查看模块信息
list = yes
# 备份的用户和系统用户无关
auth users = tb_user
# 存放用户的密码文件
secrets file = /etc/rsync.passwd
② 创建虚拟用户文件
# 创建文件
sudo vim /etc/rsync.passwd
tb_user:123456
# 修改文件权限
sudo chmod 600 /etc/rsync.passwd
③ 创建提示信息文件
echo "Welcome to backup web01" > /etc/rsyncd.motd
④ 启动服务并设置开机自启动
# 启动服务
sudo rsync --daemon --config=/etc/rsyncd.conf
# 设置开机自启动
sudo vim /etc/rc.d/rc.local
rsync --daemon --config=/etc/rsyncd.conf
f. 搭建 ftp服务(用户名密码)
① 安装 vsftpd
sudo yum install -y vsftp
② 修改配置文件
sudo cp /etc/vsftpd/vsftpd.conf /etc/vsftpd.conf.bak
sudo vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
#
# Uncomment this to allow local users to log in.
# When SELinux is enforcing check for SE bool ftp_home_dir
# 允许本地用户登录
local_enable=YES
# 启用 chroot 锁定本地用户功能
chroot_local_user=YES
# 启用 chroot 锁定本地用户列表功能
chroot_list_enable=YES
# 本地用户列表保存文件目录
chroot_list_file=/etc/vsftpd/chroot_list
# 锁定本地用户ftp根目录,如果不是设置,默认用户ftp根目录为用户家目录
local_root=/var/www/html
# 锁定用户拥有写权限
allow_writeable_chroot=YES
# ftp 用户限制
userlist_enable=YES
userlist_deny=NO
③ 创建ftp交互目录 并设置权限
sudo mkdir -p /var/www/html
# 允许tb_user用户操作此目录
sudo setfacl -Rm u:tb_user:rwx /var/www/html
④ 将用户添加到白名单文件
sudo vim /etc/vsftpd/user_list
tb_user
sudo vim /etc/vsftpd/chroot_list
tb_user
⑤ 重启服务并测
systemctl restart vsftpd
systemctl enable vsftpd
g. 配置 DNS 解析文件
sudo vim /etc/resolv.conf
nameserver 192.168.137.202
h. 配置nfs服务
① 安装并启动服务
sudo yum install -y nfs-utils rpcbind
sudo systemctl start nfs
sudo systemctl enable nfs
② 挂载并查看目录
sudo mount -t nfs 192.168.137.202:/data /var/www/html
df -h
③ 编写脚本:打包web目录到/data,并删除10前的打包文件(待完善)
#!/bin/bash
## 查看是有nfs暴露
#nfs_dir=`echo $(showmount -e 192.168.137.202) | awk -F ":" '{print $2}'`
#
## 查看是否挂载了/data
#is_mounted_nfs=`df -h | grep -v "Filesystem" | awk '/192.168.137.202/{print $1}'`
#if $nfs_dir == " /data 192.168.137.202/24" && $is_mounted_nfs == "192.168.137.202:/data";then
# # 删除/data/目录下10天前的文件
# /bin/find /var/www/html -type f -mtime +10 -exec rm -rf {}\;
# # 打包apache目录
# /bin/tar -cvf apache.tar /usr/local/apache/htdocs/www
#else
# echo -e "\e[031m/data目录没有挂载\e[0m"
#fi
# 删除/data/目录下10天前的文件
/bin/find /var/www/html -type f -mtime +10 | rm -rf
# 打包apache目录
/bin/tar -cvf apache.tar /usr/local/apache/htdocs/www
# 将打包文件移动到/data
/bin/mv ./apache.tar /var/www/html
④ 执行脚本查看备份
sudo ./copy_web_to_data.sh
⑤ 编写定时任务
sudo crontab -e
5、WEB02 主机
注意:启动主机时虚拟机需要连接镜像文件
a. 前期准备
① 主机名称为ZLM_Web02
vim /etc/hostname
ZLM_Web02
② 更改网卡配置
③ 创建tb_user用户 只允许TB主机使用此用户登录DNS主机
# 创建用户
useradd tb_user
# 设置密码
echo "tb_user:123456" | chpasswd
# 给此用户提权
vim /etc/sudoers
tb_user ALL=(ALL) NOPASSWD:ALL
b. 配置 sshd 服务
① 设置访问控制列表,只允许TB主机登录DNS主机
# 拒绝所有主机使用sshd访问DNS主机
vim /etc/hosts.deny
sshd:all:deny
# 允许TB主机使用sshd访问DNS主机
vim /etc/hosts.allow
sshd:192.168.137.201:allow
② 更改sshd服务的端口为2222,并且拒绝使用root用户登录
vim /etc/ssh/sshd_config
port=2222
DenyUsers root
c. ftp 下载软件包
① 使用ftp服务从TB主机下载所有的安装包和脚本
# 安装ftp服务
yum install -y ftp
# 下载所有文件
wget ftp://192.168.137.201/pub/* --ftp-user=ftp -r
d. 脚本安装apache
① 安装apache
# 使用脚本安装apache
sudo chmod +x apache_install.sh
sudo ./apache_install.sh
② 开启虚拟主机功能
# 编辑Apache配置文件
vim /usr/local/apache/conf/httpd.conf
# 去掉文件中的这行注释,如果没有此行,手写此行
Include conf/extra/httpd-vhosts.conf
③ 更改虚拟主机配置文件
# 备份配置文件
cp /usr/local/apache/conf/extra/httpd.vhosts.conf /usr/local/apache/conf/extra/httpd.vhosts.conf.bak
# 编辑虚拟配置文件
sudo vim /usr/local/apache/conf/extra/httpd.vhosts.conf
<VirtualHost www.test.cn:80>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot "/usr/local/apache/htdocs/www/test/com"
ServerName www.test.com
ErrorLog "logs/www/test.com-error_log"
CustomLog "logs/www/test.com-access_log" common
<Directory htdocs/www/test/com>
Require all granted
</Directory>
</VirtualHost>
<VirtualHost www.test.cn:80>
ServerAdmin webmaster@dummy-host2.example.com
DocumentRoot "/usr/local/apache/htdocs/www/test/cn"
ServerName www.test.cn
ErrorLog "logs/www/test.cn-error_log"
CustomLog "logs/www/test.cn-access_log" common
<Directory htdocs/www/test/cn>
Require all granted
</Directory>
</VirtualHost>
④ 创建两个web站点和日志目录
# 创建web站点目录
sudo mkdir -p www/test/{cn,com}
# 创建页面
vim /usr/local/apache/htdocs/www/test/com/index.html
This page is www.test.com
vim /usr/local/apache/htdocs/www/test/cn/index.html
This page is www.test.cn
# 创建log目录
sudo mkdir -p /usr/local/apache/logs/www/test/{cn,com}
⑤ 在apache主配置文件中添加服务名称
# 添加服务名称
vim /usr/local/apache/conf/httpd.conf
# 添加服务网站
ServerName www.test.com:80
ServerName www.test.cn:80
⑥ 配置hosts映射文件
vim /etc/hosts
192.168.137.204 www.test.com
192.168.137.204 www.test.cn
⑦ 检测虚拟主机文件语法
httpd -t
⑧ 修改Windows映射文件
C:\Windows\System32\drivers\etc\hosts
192.168.137.204 www.test.com
192.168.137.204 www.test.cn
e. rysnc 数据源(推送数据)
① 传送时使用密码文件
# 编辑同步密码文件
vim /etc/rsyncd.passwd
123456
# 修改密码文件权限
chmod 600 /etc/rsyncd.passwd
# 传输时使用密码文件
rsync -avz --delete /var/www/html backupuser@192.168.137.5::wwwroot --password-file=/etc/rsyncd.passwd
② 创建定时任务 定时备份数据到备份服务器
# 编写rsync备份脚本
vim /home/tb_user/cron_sh/autobackup_rsync_push.sh
#!/bin/bash
/usr/bin/rsync -avz --delete /var/www/html/ backupuser@192.168.137.5::wwwroot --password-file=/etc/rsync.passwd
# 给脚本权限
chmod u+x autobackup_rsync_push.sh
# 计划任务
crontab -e
30 22 * * * /usr/bin/sh /home/tb_user/cron_sh/autobackup_rsync_push.sh
f. 搭建 ftp服务(用户名密码)
① 安装 vsftpd
sudo yum install -y vsftp
② 修改配置文件
sudo cp /etc/vsftpd/vsftpd.conf /etc/vsftpd.conf.bak
sudo vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
#
# Uncomment this to allow local users to log in.
# When SELinux is enforcing check for SE bool ftp_home_dir
# 允许本地用户登录
local_enable=YES
# 启用 chroot 锁定本地用户功能
chroot_local_user=YES
# 启用 chroot 锁定本地用户列表功能
chroot_list_enable=YES
# 本地用户列表保存文件目录
chroot_list_file=/etc/vsftpd/chroot_list
# 锁定本地用户ftp根目录,如果不是设置,默认用户ftp根目录为用户家目录
local_root=/var/www/html
# 锁定用户拥有写权限
allow_writeable_chroot=YES
# ftp 用户限制
userlist_enable=YES
userlist_deny=NO
③ 创建ftp交互目录 并设置权限
sudo mkdir -p /var/www/html
# 允许tb_user用户操作此目录
sudo setfacl -Rm u:tb_user:rwx /var/www/html
④ 将用户添加到白名单文件
sudo vim /etc/vsftpd/user_list
tb_user
sudo vim /etc/vsftpd/chroot_list
tb_user
⑤ 重启服务并测
systemctl restart vsftpd
systemctl enable vsftpd
g. 配置 DNS 解析文件
sudo vim /etc/resolv.conf
nameserver 192.168.137.202