Centos7实现Vsftpd虚拟用户配置

Posted

tags:

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

简介

Vsftpd基于系统用户访问FTP服务器,当系统用户越来越多时会变得不利于管理且对系统安全形成隐患,因此可以使用Vsftpd的虚拟用户配置来实现把虚拟用户映射到真实用户并设置相应权限的效果

前期准备

准备一台Centos7虚拟机,配置IP地址,同步系统时间,关闭防火墙和selinux
安装Vsftpd

[root@localhost ~]# yum install vsftpd -y

安装依赖包

[root@localhost ~]# yum install yum install pam* libdb-utils libdb* -y

虚拟用户配置

配置虚拟用户文件

[root@localhost ~]# vi /etc/vsftpd/ftpusers.txt
jack #用户名
123456 #密码
tom
123123

创建数据库认证文件

[root@localhost ~]# db_load -T -t hash -f /etc/vsftpd/ftpusers.txt /etc/vsftpd/vsftpd_login.db
#修改权限为700
[root@localhost ~]# chmod 700 /etc/vsftpd/vsftpd_login.db 

配置pam认证文件

#先进行备份
[root@localhost ~]# cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak

#原有的配置内容需要注释或删除,否则虚拟用户将无法登陆
[root@localhost ~]# vi /etc/pam.d/vsftpd
#%PAM-1.0
auth       required pam_userdb.so db=/etc/vsftpd/vsftpd_login
account    required pam_userdb.so db=/etc/vsftpd/vsftpd_login

创建真实用户

[root@localhost ~]# useradd -s /sbin/nologin ftpuser

修改Vsftpd配置文件

[root@localhost ~]# vi /etc/vsftpd/vsftpd.conf 
#启用Pam认证
pam_service_name=vsftpd
#启用虚拟用户
guest_enable=YES
#虚拟用户映射的真实用户
guest_username=ftpuser
#虚拟用户配置文件目录
user_config_dir=/etc/vsftpd/vsftpd_user_conf
#虚拟用户拥有和本地用户相同的权限
virtual_use_local_privs=YES

创建虚拟用户配置文件

[root@localhost ~]# vi /etc/vsftpd/vsftpd_user_conf/jack 
local_root=/home/ftpuser/jack
write_enable=YES
[root@localhost ~]# vi /etc/vsftpd/vsftpd_user_conf/tom 
local_root=/home/ftpuser/tom
write_enable=YES

创建虚拟用户目录

[root@localhost ~]# mkdir /home/ftpuser/{tom,jack}

测试验证

[root@localhost ~]#echo jack > /home/ftpuser/jack/1.txt 
[root@localhost ~]#echo tom > /home/ftpuser/tom/2.txt 

启动Vsftpd服务器

[root@localhost ~]# systemctl start vsftpd

登陆jack
技术图片
技术图片
技术图片
登陆tom
技术图片
技术图片
技术图片

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

CentOS7基于虚拟用户的vsfptd

求centos6上的vsftpd详细配置。

centos7搭建vsftpd并启用虚拟用户

在Centos7上使用vsftpd+pam_mysql实现虚拟用户认证

CentOS7 安装vsftp

centos7安装配置vsftpd