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"

相关推荐
Lonely 净土2 小时前
Linux 运维文件写入操作
linux·运维·服务器·文件管理
飞英思特无线充电2 小时前
严苛场景巡检机器人的无线补能设计:点位、BMS、认证与运维边界
运维·机器人
Jimmy_jimi3 小时前
利用nginx代理完成url重定位
运维·nginx
liuyicenysabel3 小时前
多服务上线日记三:
运维·服务器·笔记·学习
吠品5 小时前
Wine 在 Linux 上运行 Windows 软件完整指南
java·linux·服务器
一只鹿鹿鹿5 小时前
大数据中心安全系统解决方案(Word文件)
大数据·运维·物联网·安全·政务
深念Y7 小时前
从 Windows 迁移到 Linux 开发环境的记录
linux·windows·链接·bun·ram·imdisk
领创工作室7 小时前
GitHub Workflows 全面解析:从核心概念到开源实现
运维·github
吕海洋8 小时前
目前可用的docker源2026.08
运维·docker·容器
知无不研8 小时前
Linux I/O复用之epoll
linux·服务器·epoll·socket编程