vsftp虚拟用户配置

  • Post author:
  • Post category:其他




Vsftp虚拟用户配置


Step1:

安装Vsftpd虚拟用户需用到的软件及认证模块

yum  install  pam*  libdb-utils  libdb*  --skip-broken  -y


Step2:

配置虚拟用户名及密码(奇数行是账号,偶数行是密码)

注意不能有空格和空行


创建虚拟用户临时文件/etc/vsftpd/ftp_user.txt,新建虚拟用户和密码,其中test001、test002为虚拟用户名,123456为密码,如果有多个用户,依次格式填写即可:

test001
123456
test002
123456


Step3:

生成Vsftpd虚拟用户数据库认证文件,设置权限:

db_load  -T  -t  hash  -f  /etc/vsftpd/ftp_user.txt /etc/vsftpd/ftp_login.db
chmod 700 /etc/vsftpd/ftp_login.db


Step4:

配置PAM认证文件,/etc/pam.d/vsftpd行首加入如下两行,其余行注释掉:

auth       required     pam_userdb.so  db=/etc/vsftpd/ftp_login
account    required     pam_userdb.so  db=/etc/vsftpd/ftp_login


Step5:

所有Vsftpd虚拟用户需要映射到一个系统用户,该系统用户不需要密码,也不需要登录,主要用于虚拟用户映射使用,创建命令如下:

useradd    -s   /sbin/nologin    ftpuser


Step6:

完整vsftpd.conf配置文件代码如下:

anonymous_enable=Yes
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=NO
listen_ipv6=YES
userlist_enable=YES
tcp_wrappers=YES
#config virtual user FTP
pam_service_name=vsftpd
guest_enable=YES
guest_username=ftpuser
user_config_dir=/etc/vsftpd/user_conf
virtual_use_local_privs=YES
# 解决登录速度慢的问题
reverse_lookup_enable=NO


Step7:

至此,所有虚拟用户共同基于/home/ftpuser主目录实现文件上传与下载,可以在/etc/vsftpd/user_conf目录创建虚拟用户各自的配置文件,创建虚拟用户配置文件主目录:

mkdir  -p    /etc/vsftpd/user_conf/


Step8:

给用户设置配置文件

vim /etc/vsftpd/user_conf/test001,同时创建私有的虚拟目录,代码如下:

local_root=/home/ftpuser/test001  # 目录修改成test001需要设置ftp的目录
write_enable=YES
anon_world_readable_only=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES

vim /etc/vsftpd/user_conf/test002,同时创建私有的虚拟目录,代码如下:

local_root=/home/ftpuser/test002  # 目录修改成test002需要设置ftp的目录
write_enable=YES
anon_world_readable_only=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES


Step9:

创建虚拟用户各自虚拟目录:

mkdir -p /home/ftpuser/test001
mkdir -p /home/ftpuser/test002
chown -R ftpuser:ftpuser /home/ftpuser   # 照抄


Step10:

重启Vsftpd服务,通过Windows客户端资源管理器登录Vsftpd服务端,测试结果如下图:

systemctl restart  vsftpd             #重启vsftpd



版权声明:本文为weixin_38367022原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。