1.FTP介绍:

FTP (File Transfer Protocol,文件传输协议)主要用来文件传输,尤其适用于大文件传输,提供上传下载功能

FTP官方网站:https://filezilla-project.org/

FTP服务器根据服务对象分为两种:一种Linux系统用户下控制的FTP服务器,另一种匿名FTP服务器

2.FTP工作模式

FTP采用C/S架构的服务,分为客户端和服务器端。使用TCP做为底层传输协议,使用标准端口20,21: 20端口作为数据端口,21端口作为指令端口

2.1主动FTP

  • 客户端从任意一个非授权端口,即大于1024的端口N,连接到FTP服务器命令端口21,
  • 然后客户端开始监听端口N+1,并发送FTP命令“PORT N+1”到FTP服务器
  • 接着服务器再从自己的数据端口(20端口)连接到客户端指定的数据端口(N+1)

2.2被动FTP

在被动模式中,命令连接于数据连接都有客户端发起,这样解决了服务器到客户端的数据端口的入方向连接被防火墙过滤掉的问题

  • 客户端的命令端口与服务器的命令端口建立连接,并发送命令“PASV”
  • 然后服务器返回命令"PORT 2024",告诉客户端(服务器)用哪个端口侦听数据连接
  • 客户端初始化一个从自己的数据端口到服务器端指定的数据端口的数据连接
  • 最后服务器在给客户端的数据端口返回一个"ACK"响应。

3.FTP命令行

  • open host[port]:建立指定ftp服务器连接,可指定连接端口
  • quit:同bye,退出ftp会话
  • cdup:进入远程主机目录的父目录
  • close:中断与远程服务器的ftp会话(与open对应)
  • mdelete[remote-file]:删除远程主机文件。
  • mkdir: 在远程主机中建一目录
  • get remote-file[local-file]: 将远程主机的文件remote-file传至本地硬盘的local-file
  • put local-file[remote-file]:将本地文件local-file传送至远程主机
  • mget remote-files:传输多个远程文件
  • mput local-file:将多个文件传输至远程主机
  • modtime file-name:显示远程主机文件的最后修改时间
  • pwd:显示远程主机的当前工作目录
  • ascii:使用ascii类型传输方式
  • bin:使用二进制文件传输方式
  • help[cmd]:显示ftp内部命令cmd的帮助信息,如:help get
ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
pub
226 Directory send OK.
ftp: 收到 8 字节,用时 0.00秒 2.00千字节/秒。
ftp> get pub /desktop
200 PORT command successful. Consider using PASV.
550 Failed to open file.
ftp> pwd  #ftp用户无权限
257 "/"
ftp> mkdir 0331
550 Permission denied.
ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
pub
226 Directory send OK.
ftp: 收到 8 字节,用时 0.00秒 8000.00千字节/秒。

 4.Linux下安装FTP

在Linux命令行执行ftp 显示没有此命令则进行安装:

yum install ftp -y

5.FTP环境搭建

5.1 安装VSFTPD

先查看是否安装vsftpd:rpm -qa |grep vsftpd

[root@H0f ~]# rpm -qa |grep vsftpd
vsftpd-2.2.2-24.el6.x86_64

1. rpm -e  vsftpd         进行卸载
2. yum install -y vsftpd   安装vsftpd

 5.2 启动VSFTPD

[root@H0f ~]# chkconfig vsftpd on   #加到开机自启动
[root@H0f Desktop]# /etc/init.d/vsftpd status  #查看服务是否启动
vsftpd (pid 21318) is running...
[root@H0f Desktop]# service vsftpd restart
Shutting down vsftpd:                                      [  OK  ]
Starting vsftpd for vsftpd:                                [  OK  ]

 5.3 SELinux设置

[root@H0f ~]# getenforce
Enforcing  #强制执行
[root@H0f ~]# setenforce 0  #降低SELinux安全级别
[root@H0f ~]# getenforce    #宽容模式
Permissive

 5.4防火墙设置

1.允许所有FTP模式连接

iptables -A INPUT  -p tcp --dport 21 -m state --state ESTABLISHED -j ACCEPT
iptabels -A OUTPUT -p tcp --sport 21 -m state --state NEW,ESTABLISHED -j ACCEPT

2.主动模式设置

iptabels -A INPUT -p tcp --dport 20 -m state --state ESTABLISHED,RELATED  -j ACCEPT
iptables -A  OUTPUT -p tcp --sport 20 -m state --state ESTABLESHED -j ACCEPT

3.被动模式设置

iptables -A INPUT -p tcp --sport 1024:65535 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp --sport 1024:65535 --deport 1024:65535 -m state --state ESTABLESHED,RELATED -j ACCEPT

转载于:https://www.cnblogs.com/someone9/p/8681886.html

linux下FTP服务搭建(1)相关推荐

  1. Linux下FTP服务器搭建

    Linux下FTP服务器搭建 一.FTP介绍 二.环境介绍 三.FTP服务端搭建步骤 1.安装相关软件包 2.启动FTP并检查状态 3.检查服务端口运行状态 4.修改FTP配置文件 5.关闭selin ...

  2. linux下ftp服务阶段实验(3)

    linux下ftp服务阶段实验(3) 3.  (1)匿名用户的FTP根目录是/ftp,只能下载,下载速度为100Kbps     (2)本地用户hello的FTP根目录为/hello,可以上传下载,家 ...

  3. linux下ftp服务器搭建详解

    总体搭建流程: 1.安装vsftpd 2.配置vsftpd.conf配置文件 3.启动vsftpd服务器(安装完后默认是启动的) 4.客户端发起连接 5.传递数据(上传,下载) 6.关闭连接 详解 1 ...

  4. linux下ftp服务教案,linux下ftp服务

    Linux ftp命令的一般格式如下: $ ftp 主机名/IP 其中"主机名/IP"是所要连接的远程机的主机名或IP地址.在命令行中,主机名属于选项,如果指定主机名,ftp将试图 ...

  5. windows server 2016下FTP服务搭建教程图文详解

    一.什么是FTP? FTP(File Transfer Protocol)是TCP/IP网络上两台计算机传送文件的协议,使得主机间可以共享文件. 接下来我给大家分享快速搭建FTP服务器的方法. 二.安 ...

  6. Linux下 FastDFS服务搭建 记录安装与配置过程

    环境准备 服务器主机名 ip 说明 tracker 192.168.1.128 负载均衡服务 storage1 192.168.1.129 存储服务 storage2 192.168.1.130 存储 ...

  7. linux下ftp服务和dns的关系,linux企业常用服务---dns+ftp+dhcp

    基础服务安装: [root@ftp ~]# mount /dev/cdrom /mnt mount: block device /dev/sr0 is write-protected, mountin ...

  8. linux下FTP服务启动与关闭命令

    查看FTP服务是否运行中:service vsftpd status 查看本地是否含有包含ftp的进程开启:ps -ef | grep ftp FTP设置开机自动运行:chkconfig vsftpd ...

  9. linux下FTP服务启动与关闭命令(转)

    原文:https://blog.csdn.net/qq_34495557/article/details/78327127 查看FTP服务是否运行中:service vsftpd status 查看本 ...

最新文章

  1. 李宏毅机器学习笔记4:Brief Introduction of Deep Learning、Backpropagation(后向传播算法)...
  2. ajax 取值 返回map_springboot|前端发ajax请求到后台Controller及常见的坑
  3. [linux]unixODBC的安装配置说明
  4. apache camel_Apache Camel的性能调整思路
  5. 计算机用户win7修改不,Win7电脑时间改不了的解决方法
  6. oracle 解锁 账户_oracle用户解锁三种方法
  7. php源码自动识别文本中的链接,自动加载识别文件Auto.php
  8. [转载] python 运算符重载有什么用_Python运算符重载用法实例分析
  9. 前端页面调试、抓包工具——spy-debugger
  10. android 高德地图 logo,Android高德之旅(3)UI Setting
  11. 破而后立-08年年终记
  12. 计算机图形学流体仿真mac网格,用于图形学的流体仿真20教程.docx
  13. 怎么免费制作logo?logo免费设计在线生成,从此设计不求人
  14. 产品和技术解决方案_成功的产品负责人挑战技术解决方案
  15. 【JS数据结构与算法】双向链表(DoublylinkedList)封装及其方法
  16. 传奇登录器闪退怎么回事?传奇登录器闪退解决方法分享
  17. Roblox剑九之剑二
  18. 提高PPT技巧之图片素材篇
  19. 使用()关键字来创建python的自定义函数_17.python自定义函数
  20. python通过关键字搜索淘宝商品详细信息

热门文章

  1. Google 都在用的 6 个休息小技巧,让你工作效率翻倍
  2. Java 利用InetAddress类确定特殊Ip地址
  3. 【Qt】2D绘图之坐标系统
  4. 【ARM】Programmers Model
  5. html5 jq图片效果,HTML5 jQuery可左右滑动拖拉的照片处理前后对比界面
  6. mysql 链接慢_mysql连接非常慢的觖决办法及其它常见问题解决办法
  7. 51nod 1435 位数阶乘 (手动计算)
  8. 51nod 1270 数组的最大代价 思路:简单动态规划
  9. 每天一道LeetCode-----有序数组循环右移n位后,寻找最小值,数组中可能包含重复元素
  10. 计算机应用基础 试列出windows中运行一个程序的三种途径,2012-10-17——郑州大学远程教育学院2012计算机应用基础考试考题和答案.doc...