• 阿里云 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 匿名上传文件所属用户名  
  • 相关阅读:
    条款十四 在资源管理类中小心copying行为
    条款八 别让异常逃离析构函数
    条款五 了解C++默默的编写并调用的哪些函数
    volatile——C++关键字(转)
    C++ auto_ptr(转)
    条款十三 以对象管理资源
    优秀文章收集(更新中..)
    条款十一 在operator = 中处理"自我赋值"
    TCP协议疑难杂症全景解析(转)
    大四的迷茫
  • 原文地址:https://www.cnblogs.com/benpaodegegen/p/10748387.html
Copyright © 2020-2023  润新知