linux下FTP服务搭建(1)
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
linux下FTP服务搭建(1)的更多相关文章
- 《Linux下FTP服务器搭建及FTP使用》
.LOGAndy:mxtd114 <Linux下FTP服务器搭建> 0.root登录 1.安装ftp # yum -y install ftp 2.安装vsftpd # yum -y in ...
- linux之FTP服务搭建 ( ftp文件传输协议 VSFTPd虚拟用户)
FTP服务搭建 配置实验之前关闭防火墙 iptables -F iptables -X iptables -Z systemctl stop firewalld setenforce 0 1.ftp简 ...
- linux下FTP服务器搭建教程1
你买了个主机就像是买了块地皮,搭建FTP就像是盖房子,我在地皮上建房子,然后创建的用户就像是钥匙,我给谁钥匙(权限),谁就可以到我家去玩,去放东西,拿东西. 虽然我们买不起现实的房子,但是我们可以买互 ...
- Linux下FTP服务(一)—— Ubuntu安装
参考:http://www.cnblogs.com/likwo/p/3154868.html 实验环境:Ubuntu 14.04 VMware虚拟机1. 安装 apt-get install vsft ...
- linux下ftp服务器搭建
1.yum install vsftpd 使用yum安装ftp 2.创建并授权ftp文件目录 mkdir -P /ftp/ftpadmin chmod -R 777 /ftp/ftp ...
- <Linux下FTP服务的搭建>
默认安装好ftp软件包匿名用户是可以下载的.匿名以后可以上传:anon_upload_enable=YES# getsebool -a | grep ftpallow_ftpd_anon_write ...
- linux下Ftp服务安装
安装vsftp 使用yum命令安装vsftp #yum install vsftpd -y 如果yum安装不成功,可以到 http://pkgs.org/centos-6/centos-x86_64/ ...
- linux下svn服务搭建
安装svn需要依赖apr和apr-util这两个软件,所以先安装这两个软件 下载安装APR wget http://apache.fayea.com//apr/apr-1.5.2.tar.gz .ta ...
- Linux下samba服务搭建
参考: https://www.cnblogs.com/lxyqwer/p/7271369.html https://www.cnblogs.com/liulipeng/p/3406352.html ...
随机推荐
- c类库,委托,var ,运算符 is 和 as 。
类库(Class Library) 格式 .dll 文件 类库 就是类的仓库 c#代码被编译过以后的文件,不可阅读,不可修改,只能调用. 类库是一个综合性的面向对象的可重用类型集合,这些类 ...
- Easyui datebox单击文本框显示日期选择 eayui版本1.5.4.1
Easyui默认是点击文本框后面的图标显示日期,体验很不好,所以我想单击文本框就显示日期选择框,网上很多版本是1.3,1.4的,于是自己就比葫芦画瓢改了一个1.5.4.1的版本. 我参考了网上这个帖子 ...
- PCL—点云分割(最小割算法) 低层次点云处理
1.点云分割的精度 在之前的两个章节里介绍了基于采样一致的点云分割和基于临近搜索的点云分割算法.基于采样一致的点云分割算法显然是意识流的,它只能割出大概的点云(可能是杯子的一部分,但杯把儿肯定没分割出 ...
- PS中图层混合模式的计算方法
https://zhuanlan.zhihu.com/p/23905865 长久以来一直用中文版本的PS,对于软件中的一些专业名字都是顾名思义,容易误入歧途,但当你真正看到英文版本的名字的时候才有豁然 ...
- C++面试笔记--字符串
基本上求职者进行笔试没有不考字符串的.字符串也是一种相对简单的数据结构,容易被考.事实上,字符创也是一个考验程序猿编程规范和编程习惯的重要考点. 1.替换空格:实现一个函数,把字符串中的每个空格替换成 ...
- Linux系统命令Top/free的使用及参数详解
1.作用 top命令用来显示执行中的程序进程,使用权限是所有用户. 2.格式 top [-] [d delay] [q] [c] [S] [s] [i] [n] 3.主要参数 d:指定更新的间隔,以秒 ...
- Linux sogou input method
afda@afda-Y720-15IKB:~$ wget "http://pinyin.sogou.com/linux/download.php?f=linux&bit=64&quo ...
- winfrom浏览器控件
(1)webbrowser 在ie的基础上开发出来的,一般情况下很好用,特殊情况下没法用,一堆坑,h5支持效果不好 使用:直接拖控件就好了 (2)WebKit .NET http://webkitdo ...
- spring mvc常用注解标签
@Controller 在SpringMVC 中,控制器Controller 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理层处理之后封装成一个Model , ...
- [51nod1188]最大公约数之和 V2(筛法)
题面 传送门 题解 口胡的整除分块单次询问\(O(\sqrt{n})\)的做法居然\(T\)了?那还是好好看正解吧-- 首先我们枚举\(j\),求对于每个\(j\)有所有\(i<j\)的\(\g ...