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

CentOS5.5系统中安装配置vsftpd服务器

vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序。特点是小巧轻快,安全易用。在搭建vsftpd服务器之前,首先了解一下FTP的工作原理。FTP的传输使用的可靠的TCP协议,使用了两个连接,分别是命令通道和数据流通道。一般来说,FTP服务占用两个端口:20和2
vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序。特点是小巧轻快,安全易用。在搭建vsftpd服务器之前,首先了解一下FTP的工作原理。 
FTP的传输使用的可靠的TCP协议,使用了两个连接,分别是命令通道和数据流通道。一般来说,FTP服务占用两个端口:20和21端口。其中21端口用来建立命令通道,20端口用来建立数据通道。FTP分为两种模式建立连接,分别为主动模式和被动模式。 
主动模式:通过客户端使用一个大于1024的随机端口向服务器的21端口发起请求,通过三次握手建立命令通道。如果此时有进行文件的上传或下载,服务器会使用20端口向客户端的另一个大于1024的端口发起请求,经过三次握手后建立数据通道。
被动模式:建立命令通道的方式和主动模式一样,都是在21端口上建立。当有数据传输的指令时,客户端会在命令通道内向服务器发起请求;此时服务器会启用一个端口来监听,但不是20端口,而是一个大于1024的随机端口。这样一来服务器和客户端两端的数据通道会建立在大于1024的端口之间。
接下来就开始VSFTPD服务器的搭建配置(环境:CentOS 5.5)

1、查询系统是否安装了vsftpd服务器,同时开启vsftpd服务。
 

2、来到windows客户端,用命令行登陆ftp服务器,使用匿名账号anonymous或ftp登陆,密码空。即可成功登陆!默认的匿名FTP根目录为/var/ftp
 

3、这时可以用一些简单的命令查看用户目录的信息,例如dir是查看服务器根目录下的文件夹,可以发现有一个名为pub的文件夹。 !dir则是查看自己计算机用户根目录下的文件夹,如下图所示。
 

4、pwd可以用来查看服务器当前目录的路径。在这里通过匿名用户登陆的ftp目录的路径是相对路径,即只能在/var/ftp这个目录里面访问,没有访问服务器其他路径的权限。lcd则可以用来查看本地计算机的当前路径。
 

5、默认情况下匿名用户只有下载的权限,而没有上传的权限。如图所示,上传dns.txt文件时被服务器拒绝,但是可以成功下载ftptest文件。另外使用bye命令可以退出ftp服务器。 

vsftpd相关配置文件介绍:
/etc/vsftpd/vsftpd.conf      #vsftpd的主配置文件
/etc/pam.d/vsftpd      #这是使用PAM相关模块时用到的文件,用作身份验证之用。
/etc/vsftpd.ftpusers      #这个文件相当于一个黑名单,包含了无法登陆FTP的用户。
/etc/vsftpd.ftpuser_list      #这个文件既可以作黑名单也可作为白名单,主要看如何设置策略。
/etc/vsftpd.chroot_list      #这个文件默认不存在,需要手动建立,用途是将一些用户的根目录锁定在默认目录下,无法进入服务器其他目录。
/etc/sbin/vsftpd      #vsftpd的启动文件。
/var/FTP      #vsftpd的默认匿名用户登陆的根目录。
vsftpd.conf文件设置值的说明:
anonymous_enable=YES    #允许匿名用户登陆
local_enable=YES    #允许本地用户登陆
write_enable=YES    #允许用户上传
local_umask=022    #默认情况下上传的文件夹权限为777,文件的权限为666,022这个值的意思就是在默认权限的基础上减去022,即把文件可写的权限给去除掉,这样别人就只能读取文件,而不能修改文件
anno_upload_enable=YES    #允许匿名用户上传,默认被注释掉
anno_mkdir_write_enable=YES    #允许匿名用户创建文件夹,默认被注释掉
dirmessage_enable=YES    #当用户进入某个目录时,会显示该目录需要注意的内容,默认文件为.message
xferlog_enable=YES    #开启客户端上传和下载的日志记录
connect_from_port_20=YES    #FTP数据通道端口号
xferlog_std_enable=YES    #日志采用标准格式
pam_service_name=vsftpd      #用户的认证文件为vsftpd
userlist_enable=YES      #可以用于检测userlist_file文件中的用户是否可以访问服务器
listen=YES      #工作在独立模式下
tcp_wrappers=YES      #linux自带的安全保护程序

推荐阅读
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
  • Docker的安全基准
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文详细分析了Hive在启动过程中遇到的权限拒绝错误,并提供了多种解决方案,包括调整文件权限、用户组设置以及环境变量配置等。 ... [详细]
  • 在现代网络环境中,两台计算机之间的文件传输需求日益增长。传统的FTP和SSH方式虽然有效,但其配置复杂、步骤繁琐,难以满足快速且安全的传输需求。本文将介绍一种基于Go语言开发的新一代文件传输工具——Croc,它不仅简化了操作流程,还提供了强大的加密和跨平台支持。 ... [详细]
  • 基于KVM的SRIOV直通配置及性能测试
    SRIOV介绍、VF直通配置,以及包转发率性能测试小慢哥的原创文章,欢迎转载目录?1.SRIOV介绍?2.环境说明?3.开启SRIOV?4.生成VF?5.VF ... [详细]
  • 本文详细分析了JSP(JavaServer Pages)技术的主要优点和缺点,帮助开发者更好地理解其适用场景及潜在挑战。JSP作为一种服务器端技术,广泛应用于Web开发中。 ... [详细]
  • CentOS 7 磁盘与文件系统管理指南
    本文详细介绍了磁盘的基本结构、接口类型、分区管理以及文件系统格式化等内容,并提供了实际操作步骤,帮助读者更好地理解和掌握 CentOS 7 中的磁盘与文件系统管理。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 在计算机技术的学习道路上,51CTO学院以其专业性和专注度给我留下了深刻印象。从2012年接触计算机到2014年开始系统学习网络技术和安全领域,51CTO学院始终是我信赖的学习平台。 ... [详细]
  • 本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ... [详细]
  • 从 .NET 转 Java 的自学之路:IO 流基础篇
    本文详细介绍了 Java 中的 IO 流,包括字节流和字符流的基本概念及其操作方式。探讨了如何处理不同类型的文件数据,并结合编码机制确保字符数据的正确读写。同时,文中还涵盖了装饰设计模式的应用,以及多种常见的 IO 操作实例。 ... [详细]
  • 使用Vultr云服务器和Namesilo域名搭建个人网站
    本文详细介绍了如何通过Vultr云服务器和Namesilo域名搭建一个功能齐全的个人网站,包括购买、配置服务器以及绑定域名的具体步骤。文章还提供了详细的命令行操作指南,帮助读者顺利完成建站过程。 ... [详细]
  • MySQL 数据库迁移指南:从本地到远程及磁盘间迁移
    本文详细介绍了如何在不同场景下进行 MySQL 数据库的迁移,包括从一个硬盘迁移到另一个硬盘、从一台计算机迁移到另一台计算机,以及解决迁移过程中可能遇到的问题。 ... [详细]
  • 本文探讨了如何优化和正确配置Kafka Streams应用程序以确保准确的状态存储查询。通过调整配置参数和代码逻辑,可以有效解决数据不一致的问题。 ... [详细]
author-avatar
ai美的传说_581
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有