zoukankan      html  css  js  c++  java
  • 阿里云 FTP的搭建和使用

    FTP的搭建和使用

    更新时间:2019-03-29 19:04:11

       

    简介

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

    工作原理

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

    FTP的安装与配置

    安装前准备

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

    1.安装vsftpd,直接yum 安装就可以了

     
    1. yum install -y vsftpd

    图片20

    出现下图表示安装成功。

    图片21

    2.相关配置文件:

     
    1. cd /etc/vsftpd

    图片22

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

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

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

    3.启动服务

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

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

    netstat -antup | grep ftp //查看ftp服务端口

    图片23

    开通FTP服务对应的防火墙端口:21后,登录FTP服务器。

    图片24

    匿名ftp的基本配置

    使用匿名FTP,用户无需输入用户名密码即可登录FTP服务器,vsftpd安装后默认开启了匿名ftp的功能,用户无需额外配置即可使用匿名登录ftp服务器。

    匿名ftp的配置在/etc/vsftpd/vsftpd.conf中设置。

    anonymous_enable=YES //默认即为YES

    图片25

    这个时候任何用户都可以通过匿名方式登录ftp服务器,查看并下载匿名账户主目录下的各级目录和文件,但是不能上传文件或者创建目录。

    为了演示效果,我们安装一个lftp软件。

     
    1. yum -y install lftp //安装lftp

    图片26

    利用lftp 公网ip连接到ftp服务器,可以看到只能查看和下载,不能进行上传操作

     
    1. lftp 公网ip #连接到ftp服务器
    2. cd pub/ #切换到pub目录
    3. put /etc/issue #上传文件
    4. get test.1 #下载文件

    图片27

    匿名ftp的其他设置

    出于安全方面的考虑,vsftpd在默认情况下不允许用户通过匿名FTP上传文件,创建目录等更改操作,但是可以修改vsftpd.conf配置文件的选项,可以赋予匿名ftp更多的权限。

    允许匿名ftp上传文件。

    修改/etc/vsftpd/vsftpd.conf

    write_enable=YES

    anon_upload_enable=YES

    图片28

    2、更改/var/ftp/pub目录的权限,为ftp用户添加写权限,并重新加载配置文件

     
    1. chmod o+w /var/ftp/pub/ #更改/var/ftp/pub目录的权限
    2. systemctl restart vsftpd.service #重启ftp服务

    图片29

    3、测试

    图片30

    配置本地用户登录

    本地用户登录就是指使用Linux操作系统中的用户账号和密码登录ftp服务器,vsftp安装后默只支持匿名ftp登录,用户如果试图使用Linux操作系统中的账号登录服务器,将会被vsftpd拒绝

    1.创建ftptest用户

     
    1. useradd ftptest #创建ftptest用户
    2. passwd ftptest #修改ftptest用户密码

    图片31

    2.修改/etc/vsftpd/vsftpd.conf

    anonymous enable=NO

    local_enable=YES

    图片32

    3.还是通过lftp连接到ftp服务器

    图片33

    另外简单介绍下vsftpd.conf的配置文件参数说明。

     
    1. cat /etc/vsftpd/vsftpd.conf

    用户登陆控制

    参数说明
    anonymous_enable=YES 接受匿名用户
    no_anon_password=YES 匿名用户login时不询问口令
    anon_root=(none) 匿名用户主目录
    local_enable=YES 接受本地用户
    local_root=(none) 本地用户主目录

    用户权限控制

    参数说明
    write_enable=YES 可以上传(全局控制)
    local_umask=022 本地用户上传文件的umask
    file_open_mode=0666 上传文件的权限配合umask使用
    anon_upload_enable=NO 匿名用户可以上传
    anon_mkdir_write_enable=NO 匿名用户可以建目录
    anon_other_write_enable=NO 匿名用户修改删除
    chown_username=lightwiter 匿名上传文件所属用户名  
  • 相关阅读:
    LeetCode OJ 112. Path Sum
    LeetCode OJ 226. Invert Binary Tree
    LeetCode OJ 100. Same Tree
    LeetCode OJ 104. Maximum Depth of Binary Tree
    LeetCode OJ 111. Minimum Depth of Binary Tree
    LeetCode OJ 110. Balanced Binary Tree
    apache-jmeter-3.1的简单压力测试使用方法(下载和安装)
    JMeter入门教程
    CentOS6(CentOS7)设置静态IP 并且 能够上网
    分享好文:分享我在阿里8年,是如何一步一步走向架构师的
  • 原文地址:https://www.cnblogs.com/benpaodegegen/p/10748387.html
Copyright © 2011-2022 走看看