实现基于文件验证的vsftpd虚拟用户

1 安装vsftpd

yum install -y vsftpd

2 创建用户数据库文件

cat >/etc/vsftpd/vusers.txt<<EOF
qiu
123456
zhang
654321
EOF
db_load -T -t hash -f /etc/vsftpd/vusers.txt /etc/vsftpd/users.db

在这里插入图片描述

3 创建FTP访问目录

mkdir -pv /data/ftproot/upload
useradd -d /data/ftproot -s /sbin/nologin -r vuser
setfacl -m u:vuser:rwx /data/ftproot/upload

4 创建pam文件

注意: 虽然密码文件是/etc/vsftpd/users.db,但.db一定不能加,加了就报错了

cat > /etc/pam.d/vsftpd.db <<EOF
auth required pam_userdb.so db=/etc/vsftpd/users
account required pam_userdb.so db=/etc/vsftpd/users
EOF

5 指定pam文件

mkdir /etc/vsftpd/conf.d/
sed -Eri "s#(pam_service_name=vsftpd)#\1.db#" /etc/vsftpd/vsftpd.conf
echo "guest_enable=YES" >> /etc/vsftpd/vsftpd.conf
echo "guest_username=vuser" >> /etc/vsftpd/vsftpd.conf
echo "user_config_dir=/etc/vsftpd/conf.d/" >> /etc/vsftpd/vsftpd.conf

在这里插入图片描述

6 用户权限配置

cat > /etc/vsftpd/conf.d/qiu<<EOF
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
local_root=/data/ftproot/qiu
EOF
cat > /etc/vsftpd/conf.d/zhang<<EOF
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
local_root=/data/ftproot/zhang
EOF
mkdir /data/ftproot/qiu
mkdir /data/ftproot/zhang
touch /data/ftproot/qiu/qiu
touch /data/ftproot/zhang/zhang

在这里插入图片描述

7 测试

ftp 192.168.31.38

在这里插入图片描述
至此实现了本地文件的验证.

Guess you like

Origin blog.csdn.net/qq_29974229/article/details/121097991