您的位置:首页 > 编程语言 > PHP开发

Ubuntu操作系统学习笔记之FTP基础

2014-04-04 11:04 246 查看




说明

FTP, File Transfer Protocol

一个 古老但应用极为广泛 的互联网协议

FTP提供了一种可靠的方式在网络上进行文件共享.

C/S 架构, 基于 TCP, 提供了数据传输的可靠性

标准端口: 20 (数据端口) ; 21 (指令端口)

连接

FTP会话时包含了两个通道,一个叫控制通道,一个叫数据通道。

控制通道:控制通道是和FTP服务器进行沟通的通道,连接FTP,发送FTP指令都是通过控制通道来完成的。

数据通道:数据通道是和FTP服务器进行文件传输或者列表的通道。

FTP协议中,控制连接均有客户端发起,而数据连接有两种工作方式:PORT方式和PASV方式

工作模式

主动模式

Active Mode. 由 服务端 发起数据传输的连接

流程

1) client 与 server的21端口 建立连接, 用于发送命令

2) 接收数据

在控制通道上发送 PORT命令

PORT命令 包含 client用什么端口接收 server传过来的数据

3) 传输数据

server通过20端口 与client建立新的连接, 发送数据

被动模式

Passive Mode. 由 客户端 发起数据传输的连接

流程

1) client 与 server的21端口 建立连接, 用于发送命令

2) server打开一个 随机端口(1024~5000), 通知client在此端口上传输数据

3) client 在 server通知的端口上建立连接

由于网关防火墙的原因, server(外网)无法对client(内外)主动建立连接

因此, 一般使用的是 被动模式

vsftpd

说明

vsftpd, Very Secure FTP Daemon

vsftpd 提供了一种 快速、稳定、安全 的FTP服务

安装

apt-get install vsftpd

启动

service vsftpd restart



配置/目录

主配置文件: /etc/vsftpd/vsftpd.conf

用户名单: /etc/vsftpd/ftpusers

控制名单: /etc/vsftpd/user_list

共享目录: /var/ftp

用户

说明

vsftpd 基于 用户 进行管理单位

每个用户可通过ftp方式访问 自己可访问的目录及文件

类型

正常用户(普通用户、系统用户)

匿名用户(anonymous)

虚拟用户(ftp-only)

匿名用户

vsftpd在安装过程中 创建的 ftp用户

默认home目录指向 /var/ftp/

任何 没有权限限制的 文件, 可通过匿名用户共享

打开匿名用户上传



外部用户登陆

1) 临时关闭服务器上的防火墙

# service iptables stop

2) MS-DOC登陆

C:\Windows\System32>ftp 192.168.1.107

示例



lftp

说明: Linux命令行下 连接 FTP的工具

安装: # yum install lftp

登陆: lftp -u <user>[,<pass>]

匿名

普通用户

帮助

下载: ~>get [OPTS] <rfile> [-o <lfile>]

上传: ~>put [OPTS] <lfile> [-o <rfile>]

DropBox机制

说明: 具有dropbox功能的目录 只能上传, 但无法浏览

实现

mkdir /var/ftp/mydropbox

chmod 2733 mydropbox


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: