vsftpd

随笔1个月前发布 半冷清歌
40 0 0

vsftpd

一、安装

yum -y install vsftpd

二、配置vsftpd

 egrep -v "^#|^$" /etc/vsftpd/vsftpd.conf 
 # 允许匿名用户登录,默认NO
anonymous_enable=YES
# 指定匿名用户的根目录
anon_root=/mnt/rhd/ftp/ftpuser
# 允许本地用户登录
local_enable=YES
# 允许写入操作
write_enable=YES
# 设置本地用户上传文件的umask值
local_umask=022
# 允许匿名用户上传文件
anon_upload_enable=YES
# 允许匿名用户创建目录
anon_mkdir_write_enable=NO
dirmessage_enable=YES
xferlog_enable=YES
# 允许从端口20进行连接
connect_from_port_20=YES
xferlog_std_format=YES
# 指定vsftpd监听模式
listen=YES
# 指定PAM服务名称
pam_service_name=vsftpd.pam  
userlist_enable=YES
tcp_wrappers=YES
# 启用被动模式
pasv_enable=YES
# 设置被动模式最大最小端口号
pasv_min_port=30000
pasv_max_port=30999
# 指定用户配置文件目录
user_config_dir=/etc/vsftpd_user_conf  
user_sub_token=$USER
# 启用来宾用户的支持
guest_enable=YES
guest_username=public
allow_writeable_chroot=YES
reverse_lookup_enable=NO




# cat /etc/vsftpd_user_conf/ftpuser
# 设置本地用户的根目录
local_root=/mnt/rhd/ftp/$USER
#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


# cat /etc/pam.d/vsftpd.pam 
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vlogin
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vlogin

启动

systemctl enable vsftpd --now

防火墙配置

iptables -I INPUT  -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT    
iptables -I INPUT  -p tcp -m state --state NEW -m tcp --dport 30000:30999 -j ACCEPT 

主被动模式

1、PORT(主动)模式
是FTP服务器“主动”去连接客户端的数据端口来传输数据,其过程具体来说就是:客户端通过访问服务端的21端口,然后客户端分配一个端口供ftp服务端获取数据,然后服务端通过20端口主动到客户端指定端口获取数据,20为服务器的出向端口
此模式,防火墙只需要开放21端口的对外访问策略

2、PASV(被动)模式
FTP服务器“被动”等待客户端来连接自己的数据端口,其过程具体是:客户端通过访问服务端的21端口,然后客户端提交PASV命令,让服务端分配一个用于传输数据的端口,此端口范围为vsftpd.conf配置的pasv_min_port-pasv_max_port,然后客户端通过分配的端口上传数据。(注意此模式下的FTP服务器不需要开启tcp 20端口)
此模式,防火墙需要开放21端口的对外访问策略和pasv_min_port - pasv_max_port端口范围内的访问策略



配置
pasv_enable=YES       # 开启被动模式
pasv_min_port=30000   # pasv连接模式时的最小端口
pasv_max_port=30999   # pasv连接模式时的最大端口

pasv_enable=NO        # 关闭被动模式
© 版权声明

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...