搭建虚拟用户VSFTPD

1.首先安装vsftpd

yum -y install vsftpd


2.安装db4-utils-*

这个是建立虚拟用户数据库文件


3.建立文本格式用户名/密码文件

vim /etc/vsftpd/vusers.list

文件中添加用户名和密码,第一行用户名,第二行密码

例如:

vuser

123

wKioL1OpNR-hMwEJAAAQy5HeWS4056.jpg


4.使用db_load工具把刚才的vusers.list转化为DB数据文件

切换到用户列表目录

cd /etc/vsftpd

转化数据库文件

db_load -T -t hash -f vusers.list vusers.db

注意添加用户要重新转化数据库文件

降低文件权限提高安全

chown 600 /etc/vsftpd/vusers.*


5.虚拟用户需要建立系统用户才能登陆,建立系统用户

useradd -d /ftp -s /sbin/nologin virtual (对应系统用户virtual,宿主目录/ftp,因为不适用系统用户直接登录,所以取消系统用户可以登陆系统的命令/sbin/nologin)


6.更改FTP目录权限

chmod 755 /ftp


7.建立PAM认证文件

认证文件可以重新建立注意后缀名.vu

vim /etc/pam.d/vsftpd.vu

文件内容

#%PAM-1.0

auth        required    pam_userdb.so db=/etc/vsftpd/vusers

account     required    pam_userdb.so db=/etc/vsftpd/vusers

wKiom1OpOZXReQYuAABswdKpWKE225.jpg


8. 更改vsftpd配置文件

vim /etc/vsftpd/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

guest_enable=YES
guest_username=virtual

user_config_dir=/etc/vsftpd/vusers_dir
pam_service_name=vsftpd.vu
userlist_enable=YES
tcp_wrappers=YES

xferlog_file=/var/log/vsftpd.log

ftpd_banner=Welcome to FTP servers


anonymous_enable=NO

禁止匿名用户访问

local_enable=YES

允许本地用户访问
write_enable=YES

允许写入
local_umask=022

本地用户上传文件的默认权限

dirmessage_enable=YES

用户切换进入目录时显示.message文件的内容

xferlog_enable=YES

启用xferlog日志格式,默认记录到“/var/log/xferlog”文件
connect_from_port_20=YES

允许服务器主动模式,端口20
xferlog_std_format=YES

使用标准xferlog日志格式

guest_enable=YES

允许虚拟用户登陆
guest_username=virtual

虚拟用户映射的本地用户名

user_config_dir=/etc/vsftpd/vusers_dir

虚拟用户配置文件目录
pam_service_name=vsftpd.vu

PAM认证文件
userlist_enable=YES

启动本地用户白名单
tcp_wrappers=YES

启动TCP主机访问控制

xferlog_file=/var/log/vsftpd.log

更改xferlog日志存放文件

ftpd_banner=Welcome to FTP servers

ftp欢迎语


9.虚拟用户配置文件

刚才在vsftpd.conf文件添加了虚拟用户配置文件目录/etc/vsftpd/vusers_dir

在这个目录中创建虚拟用户配置文件,输入vim /etc/vsftpd/vusers_dir/vuser

注意每一个虚拟用户要单独建立配置文件,配置文件内容如下

write_enable=YES 

anonymous_enable=NO 

anon_upload_enable=YES 

anon_mkdir_write_enable=YES 

anon_other_write_enable=YES 

local_umask=022 

download_enable=Yes 

local_root=/ftp/vuser


write_enable=YES 

可以写入

anonymous_enable=NO

匿名用户不能登录 

anon_upload_enable=YES

虚拟用户可以上传 

anon_mkdir_write_enable=YES

可以创建目录和文件 

anon_other_write_enable=YES

可以修改、删除等等 

local_umask=022 

download_enable=Yes

可以下载 

local_root=/ftp/vuser

虚拟用户禁锢在自己根目录


10.最后启动vsftpd

service vsftpd start

特别注意:如果你使用Xmananger复制到你的Linux服务器配置文件,请检查你的配置条目后边是否有空格,如果有空格请删除,否则配置完成后,虚拟用户无法登陆。