vsftpd虚拟用户配置,SLB代理vsftpd-阿里云开发者社区

开发者社区> 安全> 正文
登录阅读全文

vsftpd虚拟用户配置,SLB代理vsftpd

简介: 如何配置vsftpd的虚拟用户,代理vsftpd增加安全性。

vsftpd简介

vsftpd是一个基于GPL发布的类UNIX系统的ftp服务器软件.其全称是Very Secure FTP Deamon,在安全性,速度和稳定性都有着不俗的表现.在安全性方面,vsftpd 针对程序的权限 来设计,以一般身份启动服务, Linux 系统的使用权限较低


vsftpd安装

# yum -y install vsftpd

 安装虚拟用户数据库和相关文件

#  yum -y install db4 db4-utils db4-devel

 添加虚拟映射账户

所有虚拟账户最终都需要映射到一个真实系统账户并在其家目录活动,所以我们需要添加一个真实账户,并设置家目录。

# groupadd -g 800 GLPJDE

# useradd -s /sbin/nologin -g 800 -u 800 -d /user/share/LEASE/lease-vsftp/GLPJDE GLPJDE

 

 添加虚拟账户和密码

 

# vi /etc/vsftpd/virtual_login

VGLPJDE          #奇数行为用户名

Xxxxx            #偶数行为密码

 

 创建虚拟用户验证文件

 

# db_load -T -t hash -f /etc/vsftpd/virtual_login /etc/vsftpd/virtual_login.db

# chmod 600 /etc/vsftpd/{virtual_login,virtual_login.db}

 

 修改vsftpd虚拟用户校验文件

# vi /etc/pam.d/vsftpd

把原来的文件里面的内容都注释,添加以下两行:

auth    required       /lib64/security/pam_userdb.so db=/etc/vsftpd/virtual_login

account required        /lib64/security/pam_userdb.so db=/etc/vsftpd/virtual_login

 

 修改vsftpd的配置文件

# vi /etc/vsftpd/vsftpd.conf

anonymous_enable=NO

local_enable=YES

write_enable=YES

local_umask=000             

anon_upload_enable=YES

anon_mkdir_write_enable=NO

anon_other_write_enable=NO

dirmessage_enable=YES

xferlog_enable=YES

connect_from_port_20=YES

xferlog_std_format=YES

chroot_local_user=YES

listen=YES

listen_port=21

pam_service_name=/etc/pam.d/vsftpd

userlist_enable=YES

tcp_wrappers=YES

guest_enable=YES

guest_username=GLPJDE

pasv_enable=YES

pasv_min_port=20000

pasv_max_port=20010

user_config_dir=/etc/vsftpd/vconf

user_sub_token=$USER

部分参数解释:

1. anonymous_enable=NO 不允许匿名登录

2. local_umask=000   文件属性为777

3.pam_service_name=/etc/pam.d/vsftpd 虚拟用户校验文件

4.guest_enable=YES  开启虚拟用户

5.guest_username=GLPJDE  虚拟用户映射系统用户名

6.user_config_dir=/etc/vsftpd/vconf   虚拟用户配置文件

7.pasv_enable=YES   开启pasv传输模式

8.user_sub_token=$USER  使用的虚拟用户

9.user_config_dir=/etc/vsftpd/vconf  虚拟用户的配置文件目录

 

 创建配置虚拟用户的目录

 

# mkdir /etc/vsftpd/vconf

# vi /etc/vsftpd/vconf/VGLPJDE

local_root=/user/share/LEASE/lease-vsftp/GLPJDE

anon_mkdir_write_enable=YES

anon_world_readable_only=YES

anon_upload_enable=YES

anon_other_write_enable=YES

 

参数解释:

local_root=虚拟用户活动目录

anon_mkdir_write_enable=允许创建目录文件

anon_world_readable_only=允许读

anon_upload_enable=允许更新

anon_other_write_enable=允许操作活动目录下的其他目录

 

 重启vsftpd服务

 

# service vsftpd restart


SLB代理vsftpd

将vsftpd主被动的端口都添加到SLB上,例如:


56e4cdf487008837b79362a9ce289a56b854dd0d

然后就可以通过SLB访问ftp服务。


ECS代理vsftpd

利用Linux系统里的iptables做代理转发。

 iptables -t nat -A PREROUTING -d 172.16.6.161 -p tcp -m tcp --dport 21 -j DNAT --to-destination 172.16.6.129:21

 iptables -t nat -A PREROUTING -d 172.16.6.161 -p tcp -m tcp --dport 20 -j DNAT --to-destination 172.16.6.129:20

 iptables -t nat -A POSTROUTING -d 172.16.6.129 -p tcp --dport 21 -j MASQUERADE

 iptables -t nat -A POSTROUTING -d 172.16.6.129 -p tcp --dport 20 -j MASQUERADE

 iptables -t nat -A PREROUTING -d 172.16.6.161 -p tcp -m tcp --dport 20000:20999 -j DNAT --to-destination 172.16.6.129:21

 iptables -t nat -A POSTROUTING -d 172.16.6.129  -p tcp --dport 20000:20999 -j MASQUERADE


保存,OK!














版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享: