Vsftp-虚拟用户配置

Posted 晦暗留给过往

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Vsftp-虚拟用户配置相关的知识,希望对你有一定的参考价值。

Vsftp虚拟用户配置

承接上上文 CenOS_7 搭建Vsftpd服务-匿名用户
承接上文 Vsftpd-系统用户配置

Vsftpd虚拟用户原理:虚拟用户就是没有实际的真实系统用户,而是通过映射到其中一个真实用户以及设置相应的权限来实现访问验证,虚拟用户不能登录Linux系统,从而让系统更加的安全可靠。
(1) 安装Vsftpd虚拟用户需用到的软件及认证模块:

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

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

test001
123456
test002
123456

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

db_load  -T  -t  hash  -f  /etc/vsftpd/ftpusers.txt  /etc/vsftpd/vsftpd_login.db
chmod  700  /etc/vsftpd/vsftpd_login.db

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

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

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

useradd    -s   /sbin/nologin    ftpuser

(6) 完整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/vsftpd_user_conf
virtual_use_local_privs=YES

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

mkdir  -p    /etc/vsftpd/vsftpd_user_conf/

(8) 如下分别为虚拟用户test001、test002用户创建配置文件:
vim /etc/vsftpd/vsftpd_user_conf/test001,同时创建私有的虚拟目录,代码如下:

local_root=/home/ftpuser/test001
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/vsftpd_user_conf/test002,同时创建私有的虚拟目录,代码如下:

local_root=/home/ftpuser/test002
write_enable=YES
anon_world_readable_only=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES

(9) 创建虚拟用户各自虚拟目录:

mkdir -p /home/ftpuser/test001
mkdir -p /home/ftpuser/test002
chown -R ftpuser:ftpuser /home/ftpuser

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

systemctl restart  vsftpd             #重启vsftpd


以上是关于Vsftp-虚拟用户配置的主要内容,如果未能解决你的问题,请参考以下文章

配置vsftp虚拟用户登陆的上传下载

Vsftp安装及配置虚拟用户

Centos 7安装配置 vsftp服务 (虚拟用户登录)

CentOS 7 VSFTP 配置虚拟用户

vsftp 使用虚拟用户

Centos 7安装配置 vsftp服务(虚拟用户登录)