建立虚拟用户的账号数据库并为vsftpd服务器添加虚拟用户支持的脚本

脚本如下

#!/bin/bash

检查是否以 root 用户运行

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

echo "不是root无法运行。"

exit 1

fi

安装所需软件包

yum install -y vsftpd db4-utils

备份原始配置文件

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

创建虚拟用户账号文件

cat <<EOF > /etc/vsftpd/virtual_users.txt

testuser1

testpassword1

testuser2

testpassword2

EOF

生成虚拟用户数据库文件

db_load -T -t hash -f /etc/vsftpd/virtual_users.txt /etc/vsftpd/virtual_users.db

chmod 600 /etc/vsftpd/virtual_users.db

创建 PAM 认证文件

cat <<EOF > /etc/pam.d/vsftpd.vu

auth required pam_userdb.so db=/etc/vsftpd/virtual_users

account required pam_userdb.so db=/etc/vsftpd/virtual_users

EOF

修改 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.vu

guest_enable=YES

guest_username=ftp

user_sub_token=\$USER

local_root=/var/ftp/\$USER

userlist_enable=YES

tcp_wrappers=YES

pasv_enable=YES

pasv_min_port=30000

pasv_max_port=31000

EOF

创建虚拟用户映射的系统用户目录

mkdir -p /var/ftp/testuser1

mkdir -p /var/ftp/testuser2

chown -R ftp:ftp /var/ftp

重启 vsftpd 服务

systemctl restart vsftpd

systemctl enable vsftpd

echo "虚拟用户账号数据库已建立,vsftpd 服务器已添加虚拟用户支持。"

echo "虚拟用户: testuser1, testuser2"

echo "对应密码: testpassword1, testpassword2"

相关推荐
QT 小鲜肉5 分钟前
【QT/C++】Qt定时器QTimer类的实现方法详解(超详细)
开发语言·数据库·c++·笔记·qt·学习
研究司马懿13 分钟前
【ETCD】ETCD常用命令
网络·数据库·云原生·oracle·自动化·运维开发·etcd
TTBIGDATA16 分钟前
【Ambari开启Kerberos】KERBEROS SERVICE CHECK 报错
大数据·运维·hadoop·ambari·cdh·bigtop·ttbigdata
Archy_Wang_117 分钟前
脚本自动生成专业Linux巡检报告
linux·运维·服务器
java_logo36 分钟前
SGLANG Docker容器化部署指南
linux·运维·docker·容器·eureka·1024程序员节
Qayrup1 小时前
各个系统的 docker安装
运维·docker·容器
刘一说1 小时前
深入理解 Spring Boot 中的数据库迁移:Flyway 与 Liquibase 实战指南
数据库·spring boot·oracle
August_._2 小时前
【MySQL】SQL语法详细总结
java·数据库·后端·sql·mysql·oracle
piaoxue8202 小时前
MFA MACOS 安装流程
linux·运维·服务器
升鲜宝供应链及收银系统源代码服务2 小时前
升鲜宝生鲜配送供应链管理系统---PMS--商品品牌多语言存储与 Redis 缓存同步实现
java·开发语言·数据库·redis·缓存·开源·供应链系统