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"

相关推荐
张小姐的猫2 分钟前
【MySQL】表的约束
android·linux·服务器·数据库·c++·mysql·adb
whyutianict_vv2 分钟前
HCIE-Datacom 考纲技术拆解:从 OSPF/BGP 到 VXLAN/Netconf 的知识地图
运维·网络
无足鸟ICT17 分钟前
【RHCA+】yum命令(查询、安装、升级和卸载软件包)
linux
kyle~22 分钟前
数据结构 --- 无锁队列(Lock-Free Queue)
linux·数据结构·c++·多线程·并发
邪修king32 分钟前
Re:Linux系统篇(三十六):进程间通信Chapter3:从匿名管道到命名管道:Linux 进程间通信实战(FIFO 深度解析)
linux·运维·服务器
Rabitebla39 分钟前
【Linux】 权限篇(三):深入理解 umask 位运算与粘滞位的设计思想
java·linux·服务器·c++·笔记·学习
Tech探索者43 分钟前
重装飞牛 NAS,几 KB 的 .bin 够吗?我的备份与恢复全过程
运维·服务器
java_nnnn1 小时前
Linux 学习第一篇:从零认识 Linux,使用 WSL + Ubuntu 搭建学习环境
linux·运维·学习
讯捷蓝达1 小时前
机房突发断电,5 盘 RAID硬盘全部掉线: 急速上门救援,现场4小时华为2288H V5服务器数据完整恢复
运维·服务器·数据库
oioihoii1 小时前
Jenkins自动部署全流程:CentOS 7、GitHub、Gitee、GitLab、Vue+Maven与Webhook
centos·github·jenkins