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"

相关推荐
大飞记Python几秒前
Linux命令速查手册(测试开发4年实战总结,附PDF)
linux·网络·pdf
liguojun20251 小时前
篮球馆自动计时收费系统:从规则配置到自动结算的全流程拆解
java·大数据·运维·人工智能·物联网·1024程序员节
Promise微笑1 小时前
红外分辨率 160×120、320×240、384×288 与 640×480实战选型指南
大数据·运维·人工智能·物联网
顾喵2 小时前
PetaLinux 2017.4 实操指南:PREEMPT_RT实时补丁移植+Zynq PL中断UIO用户态配置(超完整避坑版)
linux
小樱花的樱花2 小时前
Linux 线程的创建
linux·c语言·开发语言
云飞云共享云桌面2 小时前
单机建模卡顿运维繁琐!中小型机械制造厂云飞云 3D 云桌面落地
运维·服务器·网络·3d·自动化·电脑·负载均衡
mounter6252 小时前
BPF 的进化史:从网络过滤器到 AI 时代的 Linux 核心引擎
linux·网络·人工智能·ebpf·linux kernel·kernel
YMWM_3 小时前
video.preset的值为null和ultrafast的区别
linux·video
zandy10113 小时前
体验家 XMPlus 批量操作与自动化工作流引擎:让大规模运营从手动执行走向规则驱动
大数据·运维·自动化
Sagittarius_A*4 小时前
Docker:渗透前置容器化核心基础
运维·安全·docker·容器