vsftpd配置虚拟用户登录的方法

yum安装vsftpd

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

创建虚拟用户和密码

[root@localhost etc]# cd /etc/vsftpd
[root@localhost vsftpd]# vim vuser.list

单行为用户名双行为密码

vsftpd配置虚拟用户登录的方法_第1张图片

创建数据库文件

[root@localhost vsftpd]# db_load -T -t hash -f vuser.list vuser.db

提高虚拟用户的安全性

[root@localhost vsftpd]# chmod 600 /etc/vsftpd/vuser.*
[root@localhost vsftpd]# ls -lh /etc/vsftpd/vuser.*
-rw-------. 1 root root 12K Dec 25 17:55 /etc/vsftpd/vuser.db
-rw-------. 1 root root 21 Dec 25 17:51 /etc/vsftpd/vuser.list

创建映射账号

[root@localhost vsftpd]# useradd -s /sbin/nologin -d /var/ftproot along
[root@localhost vsftpd]# chmod -R 777 /var/ftproot/

创建PAM认证文件

[root@localhost vsftpd]# cd /etc/pam.d/
[root@localhost pam.d]# ls
chfn    fingerprint-auth-ac password-auth-ac remote    smtp   sudo-i   vlock
chsh    login    polkit-1   runuser   smtp.postfix su-l   vmtoolsd
config-util  other    postlogin   runuser-l   sshd   system-auth  vsftpd
crond    passwd    postlogin-ac  smartcard-auth  su   system-auth-ac vsftpd.rpmsave
fingerprint-auth password-auth  ppp    smartcard-auth-ac sudo   systemd-user vsftpd.user
[root@localhost pam.d]# vim vsftpd

vsftpd配置虚拟用户登录的方法_第2张图片

修改主配置文件

[root@localhost pam.d]# cd /etc/vsftpd/
[root@localhost vsftpd]# ls
ftpusers user_list vsftpd.conf vsftpd_conf_migrate.sh vuser.db vuser.l
[root@localhost vsftpd]# cp vsftpd.conf vsftpd.conf.bak
[root@localhost vsftpd]# vim vsftpd.conf
[root@localhost vsftpd]# cat vsftpd.conf | grep -v "^$" | grep -v "^#"
anonymous_enable=NO
allow_writeable_chroot=YES
local_enable=YES
write_enable=YES
local_umask=022
anon_umask=022
anon_mkdir_write_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
chroot_local_user=YES
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd
user_config_dir=/etc/vsftpd/users
guest_enable=YES
guest_username=along
userlist_enable=YES
tcp_wrappers=YES

创建users目录文件并为每一个虚拟用户建立配置文件

[root@localhost vsftpd]# mkdir users
[root@localhost users]# vim cuibo

anon_upload_enable=YES
anon_mkdir_write_enable=YES
write_enable=YES
anon_world_readable_only=NO
anon_other_write_enable=YES
anon_umask=022
local_root=/var/ftproot/admin

[root@localhost users]# vim long

write_enable=YES
anon_world_readable_only=NO
anon_other_write_enable=YES
anon_umask=022
local_root=/var/ftproot/admin

增加权限并注释掉ftpusers下的用户

[root@localhost users]# mkdir /var/ftproot/admin
[root@localhost users]# chown -R along.along /var/ftproot/admin/
[root@localhost users]# cd ..
[root@localhost vsftpd]# vim ftpusers

#root
#bin
#daemon
#adm
#lp
#sync
#shutdown
#halt
#mail
#news
#uucp
#operator
#games
#nobody

关掉防火墙和降低沙盒等级并重启服务

[root@localhost vsftpd]# systemctl stop firewalld
[root@localhost vsftpd]# setenforce 0
[root@localhost vsftpd]# systemctl restart vsftpd

客户端验证和FileZille验证

[root@localhost vsftpd]# ftp 192.168.1.200
Connected to 192.168.1.200 (192.168.1.200).
220 (vsFTPd 3.0.2)
Name (192.168.1.200:root): cuibo
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>

vsftpd配置虚拟用户登录的方法_第3张图片

总结

以上所述是小编给大家介绍的vsftpd配置虚拟用户登录的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

你可能感兴趣的:(vsftpd配置虚拟用户登录的方法)