Home

cuipf blog

12 Jan 2018

FTP服务器说明和配置

FTP用户登陆

FTP登陆用户的身份可以分为下面三种:

  • 实体用户登陆 一般FTP服务器默认都支持实体用户登陆, 默认系统也不会对这些实体用户做任何限制, 所以他可以对整个文件系统做任何它具有权限的事情;
  • 访客身份登陆 如果提供访客登陆, 最好做一些限制上传文件数目和硬盘目录的限制, 联机登陆的时间限制, 允许使用的指令限制等等;
  • 匿名使用者登陆

FTP服务通道

命令通道和数据流通道; 连个通道对应都是TCP连接, 需要三次握手建立;

  1. 命令通道 默认使用端口为21, 作用:用户通过这个命令通道向FTP服务器下达指令,包含查询文件, 下载, 上传等等;
  2. 数据流通道 命令通道仅仅作为命令下达,但是涉及到数据的传输就不能使用命令通道了;这时候需要使用的数据流通道; 数据流通道是在有数据流传输行为的时候才建立的通道;并不是一开始连接到FTP服务器就建立的通道;

FTP的两种连接方式:

  1. 主动连接方式
    • 建立命令通道连接;
    • 主动式连接, 如果有数据流时候, 客户端会先随机开一个端口通过命令通道告诉ftp服务器并等待服务器连接;
    • FTP服务器主动向客户端联机;
  2. 被动连接方式
    • 与FTP服务器建立命令通道;
    • 客户端发起PASV的联机需求;
    • FTP服务器启动数据端口,并通知客户端联机;(这时候的端口可能是随机, 也可以自定义某个范围)
    • 客户端启动一个大于1024的端口进行连接;

vsftpd

说明

vsftpd全名是very secure ftp daemon;

  • /etc/vsftpd.conf; vsftpd的配置文件,内部变量说明可以使用man 5 vsftpd.conf查看;
  • /etc/vsftpd/ftpusers; 不能登陆FTP账号配置文件;
  • /etc/vsftpd/user_list; 与这个配置文件相关的配置项[userlist_enable, userlist_deny], 希望登陆vsftpd的账号; 不过这个列表含义根据userlist_deny={yes/on}不同而不同;
  • /etc/vsftpd/chroot_list; 这个配置文件主要是可以将某些账号的使用者 chroot 在他们的家目录下!但这个配置文件要生效与vsftpd.conf 内的[chroot_list_enable, chroot_list_file]两个参数有关。

配置

vsftpd相关配置见配置; 更多的配置说明可以使用man 5 vsftpd.conf查看;

cuipf

scribble