Ubuntu操作系统学习笔记之FTP基础
来源:互联网 发布:小米网络机顶盒看卫视 编辑:程序博客网 时间:2024/04/30 07:46
说明
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
- Ubuntu操作系统学习笔记之FTP基础
- ubuntu操作系统学习笔记之------网络基础
- Ubuntu操作系统学习笔记之NFS基础
- Ubuntu操作系统学习笔记之磁盘基本概念
- Ubuntu 操作系统学习笔记之文件系统
- Ubuntu操作系统学习笔记之权限机制
- ubuntu操作系统学习笔记之网络配置
- ubuntu操作系统学习笔记之文本处理
- Ubuntu 操作系统学习笔记之系统启动详解
- ubuntu操作系统学习笔记之NFS安装
- Ubuntu操作系统学习笔记之Vim 配置
- Ubuntn操作系统学习笔记之SMB基础
- Ubuntu操作系统学习笔记之五(Ubuntu常用指令)
- 操作系统笔记之基础
- Ubuntu 操作系统学习笔记之二--系统目录架构
- Ubuntu操作系统学习笔记之-----文件基本操作管理
- Ubuntu操作系统学习笔记之Vim简单介绍
- ubuntu 操作系统学习笔记之用户与用户组
- C++ 中string.find() 函数的用法总结
- Servlet中forward(请求转发)和redirect( 重定向)总结
- 移动端 触摸事件
- 关于android界面设计排版比例
- Keil MDK配置----头文件问题
- Ubuntu操作系统学习笔记之FTP基础
- html5 长按
- UVAOJ 12304 - 2D Geometry 110 in 1!
- c++中 string 类的find函数的用法
- leetcode-reverse words in a string
- seo
- 如何处理login
- struts2文件上传
- JSP应用的自我理解之一:JSP页面构成与具体实现