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"

相关推荐
绵羊20232 小时前
ImmuCellAI 免疫浸润分析
linux·python
胡斌附体2 小时前
linux docker 离线 安装
linux·docker·卸载·自启动·离线安装·系统服务
大聪明-PLUS4 小时前
通过 Telnet 实现自动化
linux·嵌入式·arm·smarc
Lin_Aries_04214 小时前
容器化 Tomcat 应用程序
java·linux·运维·docker·容器·tomcat
吃不胖没烦恼4 小时前
Alibaba Cloud Linux 3 +Docker 部署 ThinkPHP6 (宝塔环境)-问题篇
运维·docker·容器
HAORChain4 小时前
Fabric 2.x 外部链码部署(External Chaincode Service)实战攻略
linux·docker·区块链·fabric
Lin_Aries_04215 小时前
部署 GitLab 服务器
linux·运维·服务器·docker·gitlab·github
appdeveloperxg5 小时前
Centos 7 创建ftp 匿名登录和专用用户名登录可上传下载
linux·服务器
停走的风5 小时前
关于Pycharm的conda虚拟环境包更改路径问题的配置问题
linux·pycharm·conda
早睡冠军候选人6 小时前
K8s学习----节点(Node)
运维·学习·云原生·容器·kubernetes