CentOS 7 VSFTP 配置虚拟用户

Posted orochihuang

tags:

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

1. 安装VsFTP服务和组件

 yum install vsftpd db4 db4-utils


2. 添加vsftp用户

useradd vsftpd -d /home/vsftpd -s /sbin/nologin


3. 编辑 文件 /etc/vsftpd.conf

vi /etc/vsftp.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
chroot_local_user=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES

guest_enable=YES
guest_username=vsftpd
user_config_dir=/etc/vsftpd/vuser_conf
allow_writeable_chroot=YES


4. 创建用户密码文本文件

vim /etc/vsftpd/vuser_passwd.txt 

(注意奇数行是用户名,偶数行是密码),添加以下内容:

ftp1
123456

5. 生成虚拟用户认证的db文件

执行以下命令:

db_load -T -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.db


6. 编辑认证文件/etc/pam.d/vsftpd

全部注释掉原来语句,再增加以下两句:

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


7. 创建虚拟用户配置文件

mkdir /etc/vsftpd/vuser_conf/
vi /etc/vsftpd/vuser_conf/ftp1

注:文件名ftp1 等于vuser_passwd.txt里面的账户名,否则下面设置无效

文件中添加以下内容:

# 虚拟用户根目录,根据实际情况修改
local_root=/home/vsftpd

#可写
write_enable=YES
anon_umask=022
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES


8. 启动 VsFTP:

systemctl start vsftpd


9. 跟随系统启动而启动

systemctl enable vsftpd


10. 添加服务到防火墙的白名单中, 并重载

firewall-cmd --add-service=ftp --permanent
systemctl restart firewalld


如果还需要继续添加新用户,请重复步骤4,5,7

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

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

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

红帽7(centos 7)配置VSFTP

centos 7 最小安装后 安装FTP服务器 vsftp

linux——安装vsftp及配置虚拟匿名用户脚本

centos7-vsftp(虚拟用户)