#!/bin/bash
# 检查是否为 root 用户
if [ "$(id -u)" != "0" ]; then
echo "此脚本需要以 root 用户身份运行。"
exit 1
fi
# 安装 vsftpd
yum install vsftpd -y
# 备份原始配置文件
cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
# 配置 vsftpd.conf
cat <<EOF > /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
listen_ipv6=NO
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
local_root=/home/ftpuser
chroot_local_user=YES
allow_writeable_chroot=YES
EOF
# 创建 FTP 用户
useradd ftpuser
echo "请输入 ftpuser 的密码:"
passwd ftpuser
# 创建用户根目录并设置权限
mkdir -p /home/ftpuser
chown -R ftpuser:ftpuser /home/ftpuser
chmod -R 755 /home/ftpuser
# 启动 vsftpd 服务并设置开机自启
systemctl start vsftpd
systemctl enable vsftpd
# 配置防火墙
firewall-cmd --permanent --add-service=ftp
firewall-cmd --reload
# 配置 SELinux
setsebool -P ftpd_full_access on
echo "FTP 服务已成功部署。"