Linux环境下配置vsftpd的虚拟用户

Posted Mrchan9

tags:

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

环境:CentOS Linux release 7.4.1708 (Core)
vsftpd版本:vsftpd: version 3.0.2


1、安装vsftpd
# yum -y install vsftpd

2、建立虚拟用户帐号密码
# vim /etc/vsftpd/users
ftp1
123456

3、创建虚拟用户数据库文件
# db_load -T -t hash -f /etc/vsftpd/users /etc/vsftpd/virtual_users.db

4、创建虚拟账户的本地目录
# mkdir -p /var/ftp/users/ftp1

5、备份以及为虚拟用户配置vsftpd文件
# cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
# vim /etc/vsftpd/vsftpd.conf

anonymous_enable=NO
local_enable=YES
virtual_use_local_privs=YES
write_enable=YES
allow_writeable_chroot=YES
pam_service_name=vsftpd.virtual
guest_enable=YES
user_sub_token=$USER
local_root=/var/ftp/users/$USER
chroot_local_user=YES
hide_ids=YES
xferlog_enable=YES
vsftpd_log_file=/var/log/vsftpd.log
log_ftp_protocol=YES
pasv_enable=Yes
pasv_max_port=21000
pasv_min_port=20000

6、创建pam文件,使用上述新建的数据库文件
新建pam文件:
# vim /etc/pam.d/vsftpd.virtual
auth required pam_userdb.so db=/etc/vsftpd/virtual_users
account required pam_userdb.so db=/etc/vsftpd/virtual_users
session required pam_loginuid.so

7、配置防火墙
# iptables -I INPUT -p tcp --destination-port 20:21 -j ACCEPT
# iptables -I INPUT -p tcp --destination-port 20000:21000 -j ACCEPT

8、修改所有者及所属组
# chown ftp.ftp /var/ftp/users/ftp1
如果系统不存在ftp用户,则需手动创建
# useradd -d varftp -s /sbin/nologin ftp

9、启动服务并关闭selinux
# systemctl start vsftpd
# vim /etc/selinux/config
把SELINUX=enforcing 改为 SELINUX=disabled

10、测试
[email protected]:~$ ftp 192.168.199.153
Connected to 192.168.199.153.
220 (vsFTPd 3.0.2)
Name (192.168.199.153:vbox): ftp1
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> put hello.txt
200 PORT command successful. Consider using PASV.
150 Ok to send data.
226 Transfer complete.
7 bytes sent in 9.1e-05 seconds (75.1 kbytes/s)

 

 

 






















































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

CentOS 6.4下安装vsftpd配置虚拟用户登录

linux下vsftpd服务搭建

linux[基础]-30-[vsftpd]-[虚拟用户访问]-[04]

linux vsftpd 配置安装 (虚拟用户)

Linux中vsftpd服务配置(匿名,用户,虚拟用户)

Linux服务配置-vsftpd服务配置虚拟用户登录