5.8 Linux 服务实战

一、项目概述

项目名称: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.comwww.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

  • 20
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值