知识点:

1.  FTP的简介、工作原理

2.在Linux上搭建FTP服务器

参考: 阿里云文档:https://help.aliyun.com/knowledge_detail/60152.html

博客:http://blog.csdn.net/xinguan1267/article/details/47751137

简介

FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”。用于Internet上的控制文件的双向传输。同时,它也是一个应用程序(Application)。基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议以传输文件。互联网上提供文件存储和访问服务的计算机,他们依照的是FTP协议提供服务!支持FTP协议的服务器就是FTP服务器!FTP协议提供存储和传输服务的一套协议。下载”(Download)和”上传”(Upload)。”下载”文件就是从远程主机拷贝文件至自己的计算机上;”上传”文件就是将文件从自己的计算机中拷贝至远程主机上。用Internet语言来说,用户可通过客户机程序向(从)远程主机上传(下载)文件。

工作原理

FTP采用客户端/服务端的工作模式(C/S结构),通过TCP协议建立客户端和服务器之间的连接,但与其他大多数应用协议不同,FTP协议在客户端和服务端之间建立了两条通信链路,分别是控制链路和数据链路,其中,控制链路负责FTP会话过程中FTP命令的发送和接收,数据链路则负责数据的传输。FTP会话包含了两个通道,控制通道和数据通道,FTP的工作有两种方式,一种是主动模式,一种是被动模式,以FTPServer为参照物,主动模式,服务器主动连接客户端传输,被动模式,等待客户端的的连接 。(无论是主动模式还是被动模式,首先的控制通道都是先建立起来的,只是在数据传输模式上的区别)。

Linux上FTP的安装与配置

1.安装vsftpd服务器软件,并启动

vsftpd是linux下的一款小巧轻快,安全易用的FTP服务器软件,是一款在各个Linux发行版中最受推崇的FTP服务器软件。

1.安装vsftpd,yum安装

yum install -y vsftpd

出现下图则表示安装成功

2.配置相关文件

cd /etc/vsftpd

/etc/vsftpd/vsftpd.conf   //主配置文件,核心配置文件

/etc/vsftpd/ftpusers        //黑名单,这里面的用户不允许访问FTP服务器

/etc/vsftpd/user_list   //白名单,允许访问FTP服务器的用户列表

3.启动服务

systemctl enable vsftpd.service     //设置开机自启动

systemctl start vsftpd.service  //启动ftp服务

systemctl enable vsftpd.service    //查看ftp服务端口

.设置FTP权限(关闭匿名登录功能)

1.编辑vsftpd.conf主配置文件 命令为:

vi /etc/vsftpd/vsftpd.conf   (编辑vsftpd.conf主配置文件)

按一下 i 进入编辑模式

2.将配置文件中,“ /etc/vsftpd/vsftpd.conf ”中的“anonymous_enable=YES” 改为“anonymous_enable=NO”

将匿名登录改成需要用户名和密码登录

3.保存修改,按esc,运行命令:“ :wq!”,写入退出编辑

4.从新加载配置文件

systemctl restart vsftpd.service #重启ftp服务


3.添加FTP账号

1.登录Linux主机,运行命令:“useradd ftpadmin -s /sbin/nologin”,该账户路径默认指向 /home/ftpadmin目录

2.设置ftpadmin 用户密码,运行命令:“passwd ftpadmin”,输入两次密码,匹配成功,ftpadmin用户密码设置成功

3.测试连接。在“我的电脑”地址栏中输入 ftp://IP  (IP外网地址)连接FTP服务器,根据提示输入账户和密码

如下图

用户名,密码正确,则,登录到ftp服务器

Linux服务器上ftp的搭建和使用的更多相关文章

  1. 转-阿里云CentOS Linux服务器上用postfix搭建邮件服务器

    http://www.cnblogs.com/dudu/archive/2012/12/12/linux-postfix-mailserver.html 注:本文的邮件服务器只用于发送邮件,也就是ST ...

  2. 阿里云CentOS Linux服务器上搭建邮件服务器遇到的问题

    参考文章: 阿里云CentOS Linux服务器上用postfix搭建邮件服务器 Linux系统下邮件服务器的搭建(Postfix+Dovecot) 本来想自己搭建邮件服务器,但是看到一篇资料表示阿里 ...

  3. 在linux服务器上搭建相对安全的FTP服务器

    一.如何在Linux服务器上安装vsftp不在多说,直接介绍如何进行安全性配置: 二.编辑vsftp.conf文件 关键配置项如下: anonymous_enable=NO /禁止匿名用户登录 loc ...

  4. redis在linux云服务器上完整的搭建步骤

    Redis的安装 搭建环境: 华为云linux服务器 Linux系统CneterOS-7.3 SSH客户端 Xshell6 安装c语言编译环境软件如下: 安装报错 然后找到了解决方法: 安装kerne ...

  5. Windows服务器从Linux服务器上以FTP形式获取图片

    Windows服务器上运行一个获取图片的程序,获取图片采用的是FTP方式: 准备条件: Linux服务器上创建一个FTP的用户:ftppic 这个账号要有权限才可以,然后编写Windows端代码: p ...

  6. 在阿里云Linux服务器上安装MySQL

    申请阿里云Linux服务器 昨天在阿里云申请了一个免费试用5天的Linux云服务器. 操作系统:Red Hat Enterprise Linux Server 5.4 64位. CPU:1核 内存:5 ...

  7. Sublime Text编辑远程Linux服务器上的文件

    sublime有个叫sftp的插件,可以通过它直接打开远程机器上的文件进行编辑,并在保存后直接同步到远程linux服务器上. 用Package Control安装插件 按下Ctrl+Shift+P调出 ...

  8. linux服务器上部署项目,同时运行两个或多个tomcat

    在阿里云服务器上部署项目的时候,想使用阿里云提供的负载均衡服务并创建两个监听(如图), 但需要一台服务器提供两个端口,于是就请教前辈并查询资料,得知: 一台服务器提供两个端口,有两种方式: 1.一个t ...

  9. 向linux服务器上传下载文件方式收集

    向linux服务器上传下载文件方式收集 1. scp [优点]简单方便,安全可靠:支持限速参数[缺点]不支持排除目录[用法] scp就是secure copy,是用来进行远程文件拷贝的.数据传输使用 ...

随机推荐

  1. How an event flows in a pipeline Netty Internal I/O Threads (Transport Implementation)

    C:\Users\sas\.m2\repository\io\netty\netty-all\4.1.30.Final\netty-all-4.1.30.Final-sources.jar!\io\n ...

  2. 微信openid的单脚本获取 将 header 至自身,但是reques参数不同,响应也不同-----“单脚本APP”

    w 0-目的是封装成一个类.方法,方便在不同入口下,比如不是在微信公众号内而是在他人分享的url,获取opeid,且便于路由控制,将路由控制交给且仅交给codeigniter; 1-任何一个网站都可以 ...

  3. Battery Historian之App耗电量测试

    一.Battery Historian测试所需环境:Go+Git+Python+Java+Battery Historian源码 下载Battery Historian源码并且运行的步骤如下: 1.打 ...

  4. 都说新的Arraylist 扩容是(1.5倍+1) 看了1.8的源代码发现不是这么回事

    都说新的Arraylist 扩容是(1.5倍+1) 看了1.8的源代码发现不是这么回事 就用下面这段代码在jdk的三个版本运行看了下效果 import java.lang.reflect.Field; ...

  5. c/c++分割字符串

    c++分割字符串: http://www.martinbroadhurst.com/how-to-split-a-string-in-c.html c分割字符串: http://www.martinb ...

  6. 微信js分享朋友圈(二)

    近期又用到微信分享的功能了.虽然不是第一次用了,依然我又有幸踩到了一个坑,所以分享一下吧. 根据微信sdk写的代码一步步很顺利,但是后面就是获取微信返回的分享结果的回调的时候IOS老是有问题,然后就网 ...

  7. java-mybaits-00601-查询缓存-一级缓存、二级缓存

    1.什么是查询缓存 mybatis提供查询缓存,用于减轻数据压力,提高数据库性能. mybaits提供一级缓存,和二级缓存. 一级缓存是SqlSession级别的缓存. 在操作数据库时需要构造 sql ...

  8. 将 ssh (security shell) 移植到 vxworks

    openssh 依赖 openssl,这两个东西主要针对posix系统,移植到 vxworks 等实时系统有相当的难度. 可以考虑移植如下的库(ssh server): dropbear: https ...

  9. macOS Sierra上ssh免密码登录linux服务器

    1.生成私钥文件 在客户端终端下输入以下命令 ssh-keygen -t rsa 每次执行 ssh-keygen -t rsa 产生的私钥文件都会不同 如果文件"~/.ssh/id_rsa& ...

  10. Jmeter+jenkins如何快速搭建接口和性能测试持续集成解决方案-[基于windows篇]

    最近在用Jmeter本来想写一个详细的使用教程,突然看到有前辈已经写好了不错的教程,特此"借花献佛"整理出来分享给大家! Jenkins + Jmeter 构建接口.性能测试持续集 ...