《云计算》在lunix系统中搭建FTP服务以及简单应用

《云计算》在lunix系统中搭建FTP服务以及简单应用

                                      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构建及访问

  1. 启用 vsftpd 服务器
    1)建立下载测试文件 /var/ftp/pub/anon.txt
    2)建立下载测试文件 ~lisi/lisi.txt
  2. 从客户机访问FTP服务器
    1)从浏览器访问,测试匿名/用户登录
    2)以ftp命令访问,测试下载、上传操作
    3)使用wget命令下载测试文件

《云计算》在lunix系统中搭建FTP服务以及简单应用
主要配置文件
配置目录 /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

用户禁锢、黑白名单

  1. 将FTP用户禁锢在各自宿主目录
  2. 通过 ftpusers 黑名单阻止用户 mike 访问
  3. 将 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并发及带宽限制

  1. 最多允许100个FTP并发连接

  2. 每个IP地址最多允许2个并发连接

  3. 匿名访问时,将速度限制为 50KB/s

  4. 验证用户访问时,将速度限制为 500KB/s

  5. 通过 ftp、wget 验证上述限制

                                         FTP访问故障1
    

《云计算》在lunix系统中搭建FTP服务以及简单应用
《云计算》在lunix系统中搭建FTP服务以及简单应用

                                     **FTP访问故障2**

《云计算》在lunix系统中搭建FTP服务以及简单应用
《云计算》在lunix系统中搭建FTP服务以及简单应用