建立虚拟用户的账号数据库并为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"

相关推荐
Sʜᴀᴅᴏᴡ . ₪3364 分钟前
Tomcat-Thales靶机攻略
linux·运维·服务器
nlog3n10 分钟前
MySQL 常见面试问题总结
java·数据库·mysql·面试
屎派克17 分钟前
linux和windows是采用何种机制保存密码的?
linux·运维·服务器
碧海饮冰25 分钟前
MongoDB 与 Elasticsearch 使用场景区别及示例
数据库·mongodb·elasticsearch
张小九9926 分钟前
Linux修改默认shell为zsh
linux·运维·服务器
搬码红绿灯40 分钟前
数据库——MySQL字符、日期函数
数据库·mysql
Tyler先森41 分钟前
Oracle数据库数据编程SQL<2.2 DDL 视图、序列>
数据库·sql·oracle
竹之却1 小时前
【云服务器】在 Linux(Ubuntu / CentOS 7)上快速搭建我的世界 Minecraft 服务器,并实现远程联机,详细教程
linux·服务器·ubuntu·腾讯云·我的世界服务器搭建
Claus-1 小时前
进程间通信—system v标准
linux·运维·jvm
Hello.Reader1 小时前
使用nohup和--remove-source-files在后台运行rsync并记录日志
运维·服务器·网络