文件传输协议

文件传输协议(FTP,File Transfer Protocol),即能够让用户在互联网中上传、下载文件的文件协议,而FTP服务器就是支持FTP传输协议的主机,要想完成文件传输则需要FTP服务端和FTP客户端的配合才行。

通常用户使用FTP客户端软件向FTP服务器发起连接并发送FTP指令,服务器收到用户指令后将执行结果返回客户端。

FTP协议占用两个端口号:

21端口:命令控制,用于接收客户端执行的FTP命令。

20端口:数据传输,用于上传、下载文件数据。

FTP数据传输的类型:

主动模式:FTP服务端主动向FTP客户端发起连接请求。

被动模式:FTP服务端等待FTP客户端的连接请求。

Vsftpd即“Very Secure FTP Daemon”是一款运行在类Unix操作系统的FTP服务端程序,Vsftpd主打的是安全性、完全开源及免费、速率高、支持IPv6、虚拟用户功能等等其他FTP服务端软件不具备的功能。

安装命令:

yum install vsftpd -y

Vsftpd的程序与配置文件:

主程序

/usr/sbin/vsftpd

用户禁止登陆列表

/etc/vsftpd/ftpusers
/etc/vsftpd/user_list

主配置文件

/etc/vsftpd/vsftpd.conf

vsftpd程序配置文件参数的作用:

参数

作用

listen=[YES|NO]

是否以独立运行的方式监听服务。

listen_address=IP地址

设置要监听的IP地址。

listen_port=21

设置FTP服务的监听端口。

download_enable=[YES|NO]

是否允许下载文件。

userlist_enable=[YES|NO]
userlist_deny=[YES|NO]

是否启用“禁止登陆用户名单”。

max_clients=0

最大客户端连接数,0为不限制。

max_per_ip=0

同一IP地址最大连接数,0位不限制。

anonymous_enable=[YES|NO]

是否允许匿名用户访问。

anon_upload_enable=[YES|NO]

是否允许匿名用户上传文件。

anon_umask=022

匿名用户上传文件的umask值。

anon_root=/var/ftp

匿名用户的FTP根目录。

anon_mkdir_write_enable=[YES|NO]

是否允许匿名用户创建目录。

anon_other_write_enable=[YES|NO]

是否开放匿名用户其他写入权限。

anon_max_rate=0

匿名用户最大传输速率(字节),0为不限制。

local_enable=[YES|NO]

是否允许本地用户登陆FTP。

local_umask=022

本地用户上传文件的umask值。

local_root=/var/ftp

本地用户的FTP根目录。

chroot_local_user=[YES|NO]

是否将用户权限禁锢在FTP目录,更加的安全。

local_max_rate=0

本地用户最大传输速率(字节),0为不限制。

Vsftpd的验证方式

vsftpd程序提供的FTP服务可选认证方式,分别为匿名访问本地用户虚拟用户

匿名访问:任何人无需验证口令即可登入FTP服务端。

本地用户:使用FTP服务器中的用户、密码信息。

虚拟用户:创建独立的FTP帐号资料。

顾名思义匿名访问就是所有人均可随意登入FTP服务,这样自然会产生安全问题,一般用于存放公开的数据。

而本地用户与虚拟用户则需要用户提供帐号及口令后才能登入FTP服务,更加的安全,而虚拟用户则是最安全的。

下一篇博客就介绍三种模式的配置方法!

最新文章

  1. c++的多线程和多进程
  2. ssh tar 命令把远程文件拉回来或推过去
  3. php如何支持实现多线程并发
  4. webuploader上传插件
  5. oracle11g安装成功
  6. Sql的实际应用
  7. 火狐flash插件
  8. JavaScript自学代码--(四)
  9. inline-block布局方式
  10. 网易云课堂_程序设计入门-C语言_第三周:循环_2数字特征值
  11. php单元測试
  12. Bug跟踪的流程
  13. yii学习笔记--配置文件的配置
  14. EXISTS的使用详解
  15. C++基础——运算符重载友元函数示例
  16. docker容器运行后退出,怎么才能一直运行?【转】
  17. Python_装饰器复习_30
  18. CTSC 2018 游记
  19. JBuilder+struts一个常见异常
  20. AS不能在手机上现在调试软件

热门文章

  1. 纯C语言写的按键驱动,将按键逻辑与按键处理事件分离~
  2. Spring Security 入门 (二)
  3. powershell下ssh客户端套件实现
  4. Dubbo+Zookeeper(一)Zookeeper初识
  5. opencv实践::对象提取与测量
  6. Tensorflow从开始到放弃(技术篇)
  7. Mybaits 源码解析 (一)----- 搭建一个mybatis框架(MyBatis HelloWorld)
  8. MongoDB实现问卷/考试设计
  9. 实现基于netty的web框架,了解一下
  10. C语言算法动态规划板子题汇总