FTP工作原理
FTP服务概述
FTP,File Transfer Protocol
基于C/S结构的文件传输协议
FTP会话属于复合TCP连接
控制连接:TCP 21 端口,发送FTP命令信息
数据连接:TCP 20 端口,上传/下载数据
连接模式、传输模式
数据连接模式
主动模式:服务端20端口 客户端
被动模式:服务端 ?? 端口 客户端
?? 端口范围需预先限定
传输模式
文本模式:ASCII 模式,文本序列传输
二进制模式:Binary 模式,二进制序列传输
FTP用户类型
FTP用户类型
匿名用户:ftp 或 anonymous
本地用户:Linux服务器本机的系统用户账号
虚拟用户:账号信息存放在独立的文件或数据库内
vsftpd服务基础
Very Secure FTP Daemon
非常安全的FTP守护程序
官方网站:http://vsftpd.beasts.org/
服务程序和脚本
服务程序:/usr/sbin/vsftpd
系统服务脚本:/etc/init.d/vsftpd
快速构建FTP服务器
安装vsftpd包、启动服务即可
开放匿名FTP,只能下载
开放普通FTP用户,允许下载、上传
[[email protected] ~]# yum -y install vsftpd
[[email protected] ~]# service vsftpd restart
[[email protected] ~]# chkconfig vsftpd on
[[email protected] ~]# netstat -anpt | grep vsftpd
tcp 0 0 0.0.0.0:21 0.0.0.0: LISTEN 8087/vsftpd*
访问FTP服务资源
使用ftp命令工具
基本用法
格式:ftp 服务器地址
根据提示登录(匿名用户可任意密码)
[[email protected] ~]# ftp 192.168.4.5
… …
Name (192.168.4.5:root): ftp //用户名
331 Please specify the password.
Password: //验证口令
230 Login successful.
… …
ftp>
浏览及下载工具
常见的网页浏览器(Firefox、IE等)
常见的下载工具(wget、curl等)
专用的FTP管理工具
Filezilla、CuteFTP、WinSCP等
地址表示方式(匿名访问)
ftp://192.168.4.5
ftp://192.168.4.5/path/to/file
地址表示方式(用户验证访问)
ftp://user:[email protected]
ftp://user:[email protected]/path/to/file
简单FTP构建及访问
- 启用 vsftpd 服务器
1)建立下载测试文件 /var/ftp/pub/anon.txt
2)建立下载测试文件 ~lisi/lisi.txt - 从客户机访问FTP服务器
1)从浏览器访问,测试匿名/用户登录
2)以ftp命令访问,测试下载、上传操作
3)使用wget命令下载测试文件
主要配置文件
配置目录 /etc/vsftpd/
主配置文件:vsftpd.conf
[[email protected] ~]# ls /etc/vsftpd/
ftpusers user_list vsftpd.conf vsftpd_conf_migrate.sh
配置语句解析
常用的全局FTP配置
listen:是否以独立运行的方式监听服务
listen_address:设置监听FTP服务的IP地址
listen_port:设置监听FTP服务的端口
write_enable:是否启用写入权限
download_enable:是否允许下载
常用的全局FTP配置
anonymous_enable:是否启用匿名访问
anon_root:匿名FTP的根目录
local_enable:是否启用本地用户
local_root:本地用户的FTP根目录
local_umask:本地用户上传的权限掩码
chroot_local_user:是否禁锢在主目录
配置调整示例
用户访问控制
黑名单文件:/etc/vsftpd/ftpusers
列入其中的用户被禁止访问
黑/白名单文件:/etc/vsftpd/user_list
userlist_enable=YES
userlist_deny=YES|NO
用户禁锢、黑白名单
- 将FTP用户禁锢在各自宿主目录
- 通过 ftpusers 黑名单阻止用户 mike 访问
- 将 user_list 设为白名单
1)允许用户 lisi、mike 访问
2)分别测试匿名访问、用户lisi和mike访问
3)将 ftp和anonymous 加入白名单,再测试匿名访问
FTP连接及传输控制
并发数限制、带宽限制
max_clients:限制并发的客户端个数
max_per_ip:限制每个客户机IP的并发连接数
anon_max_rate:匿名最大速度(字节/秒)
local_max_rate:验证用户最大速度(字节/秒)
FTP并发及带宽限制
-
最多允许100个FTP并发连接
-
每个IP地址最多允许2个并发连接
-
匿名访问时,将速度限制为 50KB/s
-
验证用户访问时,将速度限制为 500KB/s
-
通过 ftp、wget 验证上述限制
FTP访问故障1
**FTP访问故障2**
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:《云计算》在lunix系统中搭建FTP服务以及简单应用 - Python技术站