标签:objective 生成 客户端 linux 认证 neu cal 不能 手动
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服务后再进行测试。
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
标签:objective 生成 客户端 linux 认证 neu cal 不能 手动
原文地址:https://www.cnblogs.com/NGames/p/12092757.html