• linux基础之FTP


    一、FTP简介

    FTP是File  Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”。通常用于Internet上的控制文件的双向传输。

    二、FTP安装

    1、查看是否安装

    使用命令 rpm -qa | grep vsftpd查看系统是否已经安装有FTP软件,如显示如下图则证明已经安装FTP,若执行命令无返回值则证明尚未安装FTP。

    2、FTP安装

    直接yum安装比较简单直接一条命令搞定。命令:yum install -y vsftpd 

    3、关闭selinux

    查看selinux状态:getenforce,如结果显示为Disabled则已关闭,如为Enforcing则为开启,若为Permissive则为开启,但是只有警告作用无阻止作用。

    关闭selinux。临时关闭:setenforce 0,临时开启:setenforce 1。永久关闭:vim /etc/selinux/config,将SELINUX=enforcing 改为 SELINUX=disbaled,配置好之后需要重启系统。

    三、传输模式简介

    主动模式:默认情况下,ftp服务是开放了21端口,用来接受控制命令,服务器用20端口去发送数据(连接客户端大于1024的随机端口)。

    被动模式:ftp服务也是开放21端口,用来接受命令控制,进行数据传输时,客户端会告知服务端打开一个大于1024的端口,然后客户端去主动连接服务

    优缺点:主动f模式对ftp服务器的管理有利,但对客户端的管理不利。因为是服务端主动与客户端去建立连接,可能会被客户端的防火墙把源来自服务器的包给阻塞掉。

    被动模式对ftp客户端的管理有利,但对服务端的管理不利。因为客户端主动与服务端去连,可能会被服务端的防火墙给阻塞掉。

    折中方式:使用被动模式,并指定一个连接过来的端口范围,可以针对这个范围的端口在服务器进行一个防火墙的设置。

    四、运行模式简介

    stand alone模式:直接使用 FTP 主程序作为 FTP 的守护进程,负责 21 端口的监听,由于无需经过 xinetd 的前端代理,响应速度快,适合连接数 较大的情况,但由于 FTP 主程序长期驻留内存,故较耗资源。

    super demo模式:由 xinetd 作为 FTP 的守护进程,负责 21 端口的监听,一旦外部发起对 21 端口的连接,则调用 FTP 的主程序处理,连接完成后,则关闭 FTP 主程序,释放内存资源。好处是资源占用少,适合 FTP 连接数较少的场合。

    优缺点:standalone 一次性启动,运行期间一直驻留在内存中,优点是对接入信号反应快,缺点是损耗了一定的系统资源,因此经常应用于对实时反应要求较高的 专业 FTP 服务器。

    xinetd 恰恰相反,由于只在外部连接发送请求时才调用 FTP 进程,因此不适合应用在同时连接数量较多的系统。此外,xinetd 模式不占用系统资源。除了反应速度和占用资源两方面的影响外,vsftpd 还提供了一些额外的高级功能,

    如 xinetd 模式支持 per_IP (单一 IP)限制,而 standalone 模式则更有利于 PAM 验证功能的应用。

    五、参数介绍

    anonymous_enable=NO #不允许匿名访问,改为YES即表示可以匿名登录

    anon_upload_enable=YES #是否允许匿名用户上传


    anon_mkdir_write_enable=YES #是否允许匿名用户创建目录


    local_enable=YES #是否允许本地用户,也就是linux系统的已有账号,如果你要FTP的虚拟账号,那可以改为NO


    write_enable=YES #是否允许本地用户具有写权限


    local_umask=022 #本地用户掩码


    chroot_list_enable=YES #不锁定用户在自己的家目录,默认是注释,建议这个一定要开,比如本地用户judasn,我们只能看到/home/judasn,没办法看到/home目录


    chroot_list_file=/etc/vsftpd/chroot_list #该选项是配合上面选项使用的。此文件中的用户将启用 chroot,如果上面的功能开启是不够的还要把用户名加到这个文件里面。

    配置好后,登录的用户,默认登录上去看到的根目录就是自己的home目录。


    listen=YES #独立模式


    userlist_enable=YES #用户访问控制,如果是YES,则表示启用vsftp的虚拟账号功能,虚拟账号配置文件是/etc/vsftpd/user_list


    userlist_deny=NO #这个属性在配置文件是没有的,当userlist_enable=YES,这个值也为YES,则user_list文件中的用户不能登录FTP,列表外的用户可以登录,也可以起到

    一个黑名单的作用。当userlist_enable=YES,这个值为NO,则user_list文件中的用户能登录FTP,列表外的用户不可以登录,也可以起到一个白名单的作用。如果同一个用户

    即在白名单中又在ftpusers黑名单文件中,那还是会以黑名单为前提,对应账号没法登录。


    tcp_wrappers=YES #是否启用TCPWrappers管理服务

  • 相关阅读:
    C# winfrom ListView控件实现自由设置每一行字体及背景色等
    VS2017Enterprise版本安装ImageWatch 2017问题解决
    C++ 对于函数名的操作,函数名本身和取*以及取&的区别
    C++数组和指针
    相机像素和显示分辨率
    (最简单详细)IronPython下载、安装及简单使用
    DataRow修改某一Cell的值
    DataGridView控件绑定数据之后,置顶操作
    DataGridVIew控件绑定数据之后的,增、插、删操作
    毕向东java基础课学习笔记4——标识符、常量、变量
  • 原文地址:https://www.cnblogs.com/kowloon/p/8184055.html
Copyright © 2020-2023  润新知