【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>
文件共享服务 FTP-01
文件传输协议FTP
- File Transfer Protocol 早期的三个应用级协议之一
- 基于C/S结构
- 双通道协议:数据和命令连接
- 数据传输格式:二进制(默认)和文本
- 两种模式:服务器角度
- 主动(PORT style):服务器主动连接
- 命令(控制):客户端:随机port --- 服务器:tcp21
- 数据:客户端:随机port ---服务器:tcp20
- 被动(PASV style):客户端主动连接
- 命令(控制):客户端:随机port --- 服务器:tcp21
- 数据:客户端:随机port ---服务器:随机port
- 主动(PORT style):服务器主动连接
- 服务器被动模式数据端口示例:
- 227 Entering Passive Mode (172,16,0,1,224,59)
- 服务器数据端口为:224*256+59
FTP软件介绍
- FTP服务器:
- Wu-ftpd,Proftpd,Pureftpd,ServU,IIS
- vsftpd:Very Secure FTP Daemon,CentOS默认FTP服务器
- 高速,稳定,下载速度是WU-FTP的两倍
- ftp.redhat.com数据:单机最多可支持15000个并发
- 客户端软件:
- ftp,lftp,lftpget,wget,curl
- ftp -A ftpserver port -A主动模式 –p 被动模式
- lftp –u username ftpserver
- lftp username@ftpserver
- lftpget ftp://ftpserver/pub/file
- gftp:GUI centos5 最新版2.0.19 (11/30/2008)
- filezilla,CuteFtp,FlashFXP,LeapFtp
- IE ftp://username:password@ftpserver
- ftp,lftp,lftpget,wget,curl
- 状态码:
- 1XX:信息 125:数据连接打开
- 2XX:成功类状态 200:命令OK 230:登录成功
- 3XX:补充类 331:用户名OK
- 4XX:客户端错误 425:不能打开数据连接
- 5XX:服务器错误 530:不能登录
- 用户认证:
- 匿名用户:ftp,anonymous,对应Linux用户ftp
- 系统用户:Linux用户,用户/etc/passwd,密码/etc/shadow
- 虚拟用户:特定服务的专用用户,独立的用户/密码文件
- nsswitch:network service switch名称解析框架
- pam:pluggable authentication module 用户认证
- /lib64/security /etc/pam.d/ /etc/pam.conf
vsftpd服务
- 由vsftpd包提供
- 不再由xinetd管理
- 用户认证配置文件:/etc/pam.d/vsftpd
- 服务脚本: /usr/lib/systemd/system/vsftpd.service
- /etc/rc.d/init.d/vsftpd
- 配置文件:/etc/vsftpd/vsftpd.conf
- man 5 vsftpd.conf
- 格式:option=value
- 注意:= 前后不要有空格
- 匿名用户(映射为系统用户ftp )共享文件位置:/var/ftp
- 系统用户共享文件位置:用户家目录
- 虚拟用户共享文件位置:为其映射的系统用户的家目录
vsftpd服务配置
- 命令端口
- listen_port=21
- 主动模式端口
- connect_from_port_20=YES 主动模式端口为20
- ftp_data_port=20 (默认) 指定主动模式的端口
- 被动模式端口范围
- linux 客户端默认使用被动模式
- windows 客户端默认使用主动模式
- pasv_min_port=6000 0为随机分配
- pasv_max_port=6010
- 使用当地时间
- use_localtime=YES 使用当地时间(默认为NO,使用GMT)
来源:oschina
链接:https://my.oschina.net/u/4270793/blog/3146553