vsftp的三种用户详解

vsfp上有三种用户类型:

annoymous 匿名用户

local_user 本地用户

virtual_user 虚拟用户

1、使用匿名用户

不需要认证

配置文件中配置:anonymous_enable=YES

2、使用本地用户

本地用户,就是linux上的系统用户,满足下面两点就可以使用。

1、用户的bash是/bin/bash

2、主配置文件中配置:local_enable=YES

3、使用虚拟用户

为什么要使用虚拟用户呢?

如果ftp是提供给公司100多号员工的,岂不是要给每个用户都新建一个系统用户?

这100多个系统用户,还都可以登陆到服务器,对服务器安装增加隐患。

 

创建虚拟用户的账号、密码文件,用于下一步生成认证数据库文件。

cat virtual_user.list 
ftpcitc
112233

生成数据库

 db_load -T -t hash -f /etc/vsftpd/virtual_user.list  /etc/vsftpd/virtual_user.db

修改权限

chmod 700 /etc/vsftpd/virtual_user.db

增加用户

cat virtual_user.list 
ftpcitc
112233
vuser
112233

安装 Berkeley DB 工具

sudo apt-get install db-util -y
 

增加用户后要重新生成数据库

 db_load -T -t hash -f /etc/vsftpd/virtual_user.list  /etc/vsftpd/virtual_user.db

配置用户认证

cat /etc/pam.d/vsftpd
auth    required        pam_userdb.so   db=/etc/vsftpd/virtual_user
account required        pam_userdb.so   db=/etc/vsftpd/virtual_user

配置虚拟用户映射

ps:1、所有的虚拟用户都要映射到一个本地系统用户

2、这个本地系统用户,不要有登陆服务器的权限,不要配置密码,只做虚拟用户的映射。

 

[root@hdp01 vsftpd]# useradd  -s /sbin/nologin ftpuser

修配主配置文件

[root@hdp01 vsftpd]# grep ^[a-zA-Z] 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
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
pam_service_name=vsftpd
guest_enable=YES
guest_username=ftpuser
user_config_dir=/etc/vsftpd/vsftpd_user_conf
virtual_use_local_privs=YES

创建虚拟用户的配置目录、配置文件

ps: 配置文件要和虚拟用户的名字一致

mkdir -p /etc/vsftpd/vsftpd_user_conf

[root@hdp01 virtual_user_dir]# cd /etc/vsftpd/virtual_user_dir

[root@hdp01 virtual_user_dir]# cat ftpcitc 
local_root=/data/ftp/ftpcitc
write_enable=YES
non_upload_enable=YES
anon_mkdir_write_enable-YES
anon_other_write_enable=YES
You have new mail in /var/spool/mail/root

[root@hdp01 virtual_user_dir]# cat vuser 
local_root=/data/ftp/vuser
write_enable=YES
non_upload_enable=YES
anon_mkdir_write_enable-YES
anon_other_write_enable=YES

创建虚拟用户的家目录

ps:要把虚拟用户家目录的属主属组给,代理用户ftpuser

mkdir -p /data/ftp/vuser
mkdir -p /data/ftp/ftpcitc
chown  ftpuser:ftpuser /data/ftp/vuser   /data/ftp/ftpcitc

 

配置完成,重启vsftp,测试虚拟用户。

 
posted @ 2024-10-26 12:20  啊里个东  阅读(7)  评论(0编辑  收藏  举报