12 Jan 2018
FTP服务器说明和配置
FTP用户登陆
FTP登陆用户的身份可以分为下面三种:
- 实体用户登陆 一般FTP服务器默认都支持实体用户登陆, 默认系统也不会对这些实体用户做任何限制, 所以他可以对整个文件系统做任何它具有权限的事情;
- 访客身份登陆 如果提供访客登陆, 最好做一些限制上传文件数目和硬盘目录的限制, 联机登陆的时间限制, 允许使用的指令限制等等;
- 匿名使用者登陆
FTP服务通道
命令通道和数据流通道; 连个通道对应都是TCP连接, 需要三次握手建立;
- 命令通道 默认使用端口为21, 作用:用户通过这个命令通道向FTP服务器下达指令,包含查询文件, 下载, 上传等等;
- 数据流通道 命令通道仅仅作为命令下达,但是涉及到数据的传输就不能使用命令通道了;这时候需要使用的数据流通道; 数据流通道是在有数据流传输行为的时候才建立的通道;并不是一开始连接到FTP服务器就建立的通道;
FTP的两种连接方式:
- 主动连接方式
- 建立命令通道连接;
- 主动式连接, 如果有数据流时候, 客户端会先随机开一个端口通过命令通道告诉ftp服务器并等待服务器连接;
- FTP服务器主动向客户端联机;
- 被动连接方式
- 与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
