Linux centos 7 vsftp本地部署脚本

#!/bin/bash

检查是否以 root 用户运行

if [ "$EUID" -ne 0 ]; then

echo "不是root装个毛线啊。"

exit 1

fi

更新系统

yum update -y

安装 vsftpd

yum install vsftpd -y

备份原始配置文件

cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak

配置 vsftpd

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

chroot_local_user=YES

allow_writeable_chroot=YES

listen=NO

listen_ipv6=YES

pam_service_name=vsftpd

userlist_enable=YES

tcp_wrappers=YES

pasv_enable=YES

pasv_min_port=30000

pasv_max_port=31000

EOF

创建 FTP 用户和目录

FTP_USER="ftpuser"

FTP_PASS="ftppassword"

FTP_DIR="/var/ftp/$FTP_USER"

useradd -d FTP_DIR -s /sbin/nologin FTP_USER

echo "FTP_PASS" \| passwd --stdin FTP_USER

mkdir -p $FTP_DIR

chown -R FTP_USER:FTP_USER $FTP_DIR

chmod -R 755 $FTP_DIR

将用户添加到用户列表

echo $FTP_USER >> /etc/vsftpd/user_list

配置防火墙

firewall-cmd --permanent --add-service=ftp

firewall-cmd --permanent --add-port=30000-31000/tcp

firewall-cmd --reload

启动并设置 vsftpd 开机自启

systemctl start vsftpd

systemctl enable vsftpd

echo "vsftpd 已成功部署。"

echo "FTP 用户: $FTP_USER"

echo "FTP 密码: $FTP_PASS"

相关推荐
自由游戏开发者10 分钟前
用U盘启动制作centos系统最常见报错,系统卡住无法继续问题(手把手)
linux·运维·centos
Ronin30532 分钟前
【Linux系统】vim编辑器 | 编译器gcc/g++ | make/Makefile
linux·运维·服务器·ubuntu·编辑器·vim
Bruce_Liuxiaowei1 小时前
Netstat高级分析工具:Windows与Linux双系统兼容的精准筛查利器
linux·运维·网络·windows·安全
yt948321 小时前
C#实现CAN通讯接口
java·linux·前端
linux修理工1 小时前
n1 armbian 安装桌面环境并启用xrdp远程登录
linux·服务器·数据库
花小璇学linux2 小时前
imx6ull-裸机学习实验1——汇编LED灯实验
linux·汇编·imx6ull·arm裸机开发
Brookty2 小时前
【操作系统】进程(二)内存管理、通信
java·linux·服务器·网络·学习·java-ee·操作系统
易德研发2 小时前
ubuntu24.04安装NFS网络文件系统/ARM开发板NFS挂载
运维·服务器·网络
生活爱好者!3 小时前
NAS 部署白板工具,实现思维导图/画板/流程图自由
运维·docker·容器
sanggou6 小时前
Linux批量执行工具脚本使用指南:一键运行多个release-dev.sh脚本
linux·bash