vsftp 主动模式安装

Posted ngames

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vsftp 主动模式安装相关的知识,希望对你有一定的参考价值。

server:192.168.109.137

client:192.168.109.138

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

安装:

1.yum install -y vsftpd lftp

技术图片

 

 

 2.创建用户

useradd ftpuser -s /sbin/nologin

技术图片

 

 

 3.创建虚拟用户及其存放路径(第一行账号,第二行密码)

vim /etc/vsftpd/vsftpd_login

boss
boss123
flow
flow123

技术图片

 

 

 chmod 600 /etc/vsftpd/vsftpd_login

4.生成能够识别的库文件

db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db

技术图片

 

 

 5.创建虚拟账号用户权限管理目录及配置文件

mkdir /etc/vsftpd/vsftpd_user_conf && cd /etc/vsftpd/vsftpd_user_conf

vim boss

local_root=/filedata/vsftp_data/boss
anonymous_enable=NO
write_enable=YES
local_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO
idle_session_timeout=600
data_connection_timeout=120
max_clients=10
max_per_ip=5
local_max_rate=50000

技术图片

 

 

 vim flow

local_root=/filedata/vsftp_data/flow
anonymous_enable=NO
write_enable=YES
local_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO
idle_session_timeout=600
data_connection_timeout=120
max_clients=10
max_per_ip=5
local_max_rate=50000

技术图片

 

 

 6.创建其家目录(虚拟用户boss,flow),并修改权限

mkdir -pv /filedata/vsftp_data/boss

chown -R ftpuser:ftpuser /filedata/vsftp_data/boss

mkdir -pv /filedata/vsftp_data/flow

chown -R ftpuser:ftpuser /filedata/vsftp_data/flow

技术图片

 

 

 7.编辑认证文件

vim /etc/pam.d/vsftpd (添加)

auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

技术图片

 

 

 

8.编辑vsftp的配置文件

vim /etc/vsftpd/vsftpd.conf

anonymous_enable=NO
guest_enable=YES
guest_username=virftp
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd/vsftpd_user_conf

技术图片

 

 

 9.重启、执行

systemctl restart vsftpd;tail -f /var/log/messages 

技术图片

 

 

 10.测试

lftp boss@127.0.0.1

技术图片

 

 

 tail -f /var/log/secure

技术图片

 

 

 这里就是上面说的认证模式问题,注释其他的即可(vim /etc/pam.d/vsftpd);

技术图片

 

 

 

技术图片

 

 

技术图片

 

 

 

 上传测试:

技术图片

 

 

 浏览器测试:ftp://IP

技术图片

 

 

 技术图片

 

 

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

11.锁定根目录,不能随意切换

vim /etc/vsftpd/vsftpd.conf (添加)

chroot_list_enable=NO

chroot_local_user=YES

chroot_list_file=/etc/vsftpd/chroot_list

技术图片

 

 

 

创建/etc/vsftpd/chroot_list 并vim /etc/vsftpd/chroot_list 添加相应账号

技术图片

 

 

12.ftp主动模式 数据传输20端口:

vim /etc/vsftpd/vsftpd.conf

pasv_enable=NO #默认是yes

#connect_from_port_20=YES #默认是开启的

技术图片

 

 

 解决配置添加:allow_writeable_chroot=YES

reverse_lookup_enable=NO #连接慢,因为默认开启了reverse_lookup(反向解析) 

 

技术图片

 

 

问题: [Delaying before reconnect: 29]   或者:重新连接前延时:ss;这是因为linux的ftp客户端默认是被动模式,登陆进去需要手动关闭

lftp:为 set passive-mode off

ftp:为passive

set passive-mode off

技术图片

 

通过tcpdump抓包可以发现此时数据是走固定端口20传输 

 

 

 

*被动模式:

 

在vsftpd服务的配置文件下添加以下配置。
    pasv_enable=YES     #开启被动模式
    pasv_min_port=20000  #设置被动模式传输数据的端口范围
    pasv_max_port=20045  #设置被动模式传输数据的端口范围
重启vsftpd服务后再进行测试。

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

以上是关于vsftp 主动模式安装的主要内容,如果未能解决你的问题,请参考以下文章

ftp主动模式与被动模式原理

Linux下vsftp的安装和使用:Centos7

VSFTP服务配置

vsftp配置详解

Cent OS7搭建vsftp服务器

基于虚拟用户的方式使用vsftp