当前位置: 首页 > article >正文

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


http://www.kler.cn/a/601091.html

相关文章:

  • k8s存储介绍(三)valume概述与emptydir
  • Unity知识点快速回顾系列
  • 热门面试题第14天|Leetcode 513找树左下角的值 112 113 路径总和 105 106 从中序与后序遍历序列构造二叉树 (及其扩展形式)以一敌二
  • 【MySQL | 六、索引特性(进一步理解)】
  • 【零基础JavaScript入门 | Day7】三大交互案例深度解析|从DOM操作到组件化开发
  • 仅靠prompt,Agent难以自救
  • 【Pandas】pandas Series to_pickle
  • Axure设计之中继器表格——拖动行排序教程(中继器)
  • 1.基于TCP的简单套接字服务器实现
  • 【SOC 芯片设计 DFT 学习专栏 -- IDDQ 测试 与 Burn-In 测试】
  • 【数据结构初阶八大排序】---冒泡、选择、插入、希尔、堆排、快排、归并、计数
  • 数据库索引相关的面试题以及答案
  • 医院挂号预约小程序|基于微信小程序的医院挂号预约系统设计与实现(源码+数据库+文档)
  • 双指针技巧在C++中的应用:从基础到进阶
  • 在 Ubuntu 中配置开机自启动脚本并激活 Anaconda 环境
  • Vue学习笔记集--create-vue
  • 宝塔ssl 证书申请流程
  • PDR的matlab实现
  • Android音视频多媒体开源库基础大全
  • C++进阶——哈希表的实现