热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

Linux下vsftpd服务器的配置和简单应用

今天介绍下文件共享最常用的应用FTP,这是一个十分古老的基于tcp的文件传输协议,诞生40年之久,全称:FileTransferProtocol,用于Internet上的控制文件的双向传输,同时它也是一个C/S架构的服务系统,基于不同的操作系统有不同的FTP应用程序,这个协议与其
今天介绍下文件共享最常用的应用FTP,这是一个十分古老的基于tcp的文件传输协议,诞生40年之久,全称:File Transfer Protocol,用于Internet上的控制文件的双向传输,同时它也是一个C/S架构的服务系统,基于不同的操作系统有不同的FTP应用程序,这个协议与其他早期的协议都相同,设计之初都是明文传送的!
    下面简单介绍下这个协议!
一、FTP的两种连接:

    command命令连接:监听在21号端口,只要开启ftp服务就一直处于活动状态

    data数据连接:只在下载或上传文件是才会开启连接,数据连接又分为俩种模式:

    active 主动模式(有些地方也写做Standard):此模式下FTP客户端首先和服务器的TCP 21端口建立连接,用来发送命令,客户端需要接收数据的时候在这个通道上发送PORT命令。PORT命令包含了客户端用什么端口接收数据。在传送数据的时候,服务器端通过自己的TCP 20端口连接至客户端的指定端口发送数据。FTP server必须和客户端建立一个新的连接用来传送数据,一般是服务器端的20号端口与客户端发送请求的端口加1的端口建立新的连接 ,如:客户端通过7000端口向服务器端的21号端口发送命令请求建立连接,而在进行数据传送的时候通过服务器端的20号端口和客户端的7001端口建立新的连接来传输数据。

    passive 被动模式:建立控制通道和主动模式类似,但建立连接后发送Pasv命令。服务器收到Pasv命令后,打开一个临时端口(端口号大于1023小于65535)并且通知客户端在这个端口上传送数据的请求,客户端连接FTP服务器此端口,然后FTP服务器将通过这个端口传送数据。

    俩种传输模式是为了保护数据的安全,被动模式下服务端数据传输的端口是临时打开的,不容易被窃听,然而一般情况下FTP服务器都是位于防火墙之后的,在做访问控制的时候这种模式会比较复杂,而主动模式下防火墙的设置相对简单的多。

二、FTP的用户类型:

    匿名用户:这就是我们常说的匿名登录,ftp服务器支持匿名登录时通常当用户匿名访问可以使用ftp/anoymous这两个用户匿名登录。

    本地用户:这类用户是指在FTP服务上拥有帐号,账号名称,密码信息存放在passwd,shadow文件中。当这类用户登录FTP服务器的时候,其默认的主目录就是其帐号命名的目录。但是,其还可以变更到其他目录中去。如系统的主目录等等,这将十分的危险,下面介绍vsftp的时候会稍作介绍!

    虚拟用户(有些地方也叫GUEST用户):使用独立的账号/密码数据文件,这个账户有个特点,就是其只能够访问自己的主目录。服务器通过这种方式来保障FTP服务上其他文件的安全性。这类帐户,在Vsftpd软件中就叫做Guest用户。拥有这类用户的帐户,只能够访问其主目录下的目录,而不得访问主目录以外的文件。

三、常见的FTP服务器程序:

    windows:IIS、Serv-U

    LINUX:wu-ftpd  Proftpd vsftpd

    在这里主要说下vsftpd,这是红帽默认提供的FTP服务器程序,全称:Very Sceure FTP Dacmon,安全性能出众也能提供较完整的ftp服务,稍微说下Proftpd这是款功能十分强大的ftp服务器程序,能满足自己的各种定制和需求!

四、常见的FTP客户端程序:

    ftp命令

    CuteFTP 、FlashFXP(号称是最快的FTP客户端)、LeapFTP、Filezilla

    gftp、kuftp

当然我们也可以通过IE等浏览器直接登录FTP服务器等等,不过以上所说的都是专业的FTPFTP客户端服务程序。这里不多做说明了。为了避免selinux对后面的实际操作产生影响,我们使用setenforce 0临时关闭掉selinux。

下面主要介绍下 vsftpd这款服务器程序:

我们通过yum直接安装此软件包:

yum -y install vsftpd

会不会很惊奇的发现这个安装包只有140k大小呢!

通过这种方法安装,主程序文件安装在/usr/sbin/vsftpd,配置文件在/etc/vsftpd下:

有3个文件:

ftpusers 配置禁止登陆ftp的用户列表

user_list 定义了一些用户列表,这些用户是否可以登录取决于主配置文件的设置

vsftpd.conf 主配置文件这是这个程序的配置文件,所有的设置都在此定义,里面能定义的选项十分多

有兴趣的可以自己看看稍微介绍下几个常用的选项(详见百科或其他资料): 1、默认配置:   anonymous_enable=YES #允许匿名用户访问   local_enable=YES #允许本地用户访问   write_enable=YES #具有写权限   local_umask=022 #本地用户创建文件或目录的掩码   connect_from_port_20=YES #开启20端口 2、允许匿名用户具有写权限(上传/创建目录)   在默认配置下添加以下内容:   anon_upload_enable=YES   anon_mkdir_write_enable=YES   anon_world_readable_Only=NO 允许匿名帐号写 另外还需具有所有权限的目录 3、屏蔽本地所有用户浏览其他目录的权限(除了家目录,匿名用户本身只能访问家目录)   在默认配置下添加以下内容:   chroot_local_user=YES

4、屏蔽部分本地用户浏览其他目录的权限

  在默认配置下添加以下内容:   chroot_local_user=NO   chroot_list_enable=YES   chroot_list_file=/etc/vsftpd.chroot_list   另外再创建文件/etc/vsftpd.chroot_list,并添加需要屏蔽的用户。

相关的命令十分简单常用的有以下几个,跟其他能被service调用的服务基本相同:

service vsftpd start/stop/restart/reload


推荐阅读
  • 本文探讨了在使用 MyBatis 进行批量数据处理时遇到的参数绑定异常问题,并提供了详细的解决方案。 ... [详细]
  • 本文详细介绍了如何在Windows和Linux系统上配置Openfire服务器,包括安装步骤、数据库配置及端口映射等关键环节。 ... [详细]
  • 如何高效学习鸿蒙操作系统:开发者指南
    本文探讨了开发者如何更有效地学习鸿蒙操作系统,提供了来自行业专家的建议,包括系统化学习方法、职业规划建议以及具体的开发技巧。 ... [详细]
  • 本文详细介绍了如何在PHP中使用Memcached进行数据缓存,包括服务器连接、数据操作、高级功能等。 ... [详细]
  • 实现Win10与Linux服务器的SSH无密码登录
    本文介绍了如何在Windows 10环境下使用Git工具,通过配置SSH密钥对,实现与Linux服务器的无密码登录。主要步骤包括生成本地公钥、上传至服务器以及配置服务器端的信任关系。 ... [详细]
  • 本文探讨了使用Python实现监控信息收集的方法,涵盖从基础的日志记录到复杂的系统运维解决方案,旨在帮助开发者和运维人员提升工作效率。 ... [详细]
  • 本文探讨了服务器系统架构的性能评估方法,包括性能评估的目的、步骤以及如何选择合适的度量标准。文章还介绍了几种常用的基准测试程序及其应用,并详细说明了Web服务器性能评估的关键指标与测试方法。 ... [详细]
  • 本文详细对比了HashMap和HashTable在多线程环境下的安全性、对null值的支持、性能表现以及方法同步等方面的特点,帮助开发者根据具体需求选择合适的数据结构。 ... [详细]
  • 本文详细介绍了如何使用Linux下的mysqlshow命令来查询MySQL数据库的相关信息,包括数据库、表以及字段的详情。通过本文的学习,读者可以掌握mysqlshow命令的基本语法及其常用选项。 ... [详细]
  • 2023年1月28日网络安全热点
    涵盖最新的网络安全动态,包括OpenSSH和WordPress的安全更新、VirtualBox提权漏洞、以及谷歌推出的新证书验证机制等内容。 ... [详细]
  • Java高级工程师学习路径及面试准备指南
    本文基于一位朋友的PDF面试经验整理,涵盖了Java高级工程师所需掌握的核心知识点,包括数据结构与算法、计算机网络、数据库、操作系统等多个方面,并提供了详细的参考资料和学习建议。 ... [详细]
  • Java中提取字符串的最后一部分
    本文介绍了如何使用Java中的substring()和split()方法来提取字符串的最后一部分,特别是在处理包含特殊字符的路径时的方法与技巧。 ... [详细]
  • 2008年1月,微软发布了两则安全更新公告,分别针对Windows操作系统的不同漏洞。其中一项被评为‘关键’级,另一项为‘重要’级。此次更新并未涉及Microsoft Office产品。 ... [详细]
  • 汇总了2023年7月7日最新的网络安全新闻和技术更新,包括最新的漏洞披露、工具发布及安全事件。 ... [详细]
  • Win10管理员权限安装问题解决方案
    本文提供了解决在Win10系统中以管理员身份安装软件遇到权限不足问题的详细步骤。 ... [详细]
author-avatar
keleisibuo
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有