更多腾讯海量技术文章,请关注云加社区:https://cloud.tencent.com/developer
作者:吴奇
FTP工作模式简介
FTP工作会启动两个通道:控制通道和数据通道。
控制通道一般由客户端发起,数据连接分两种:port(主动)和pasv(被动)。
PORT模式:
在客户端需要接收数据时,ftp_client(大于1024的随机端口)-PORT命令->ftp_server(21) 发送PORT命令,这个PORT命令包含了客户端是用什么端口来接收数据(大于1024的随机端口,在传送数据时,ftp_server将通过自己的TCP 20 端口和PORT中包含的端口建立新的连接来传送数据。
PASV模式:
传送数据时,ftp_client--PASV命令-->ftp_server(21) 发送PASV命令时,ftp_server自动打开一个1024--5000之间的随机端口并且通知ftp_client在这个端口上传送数据,然后客户端向指定的端口发出请求连接,建立一条数据链路进行数据传输。
安装FTP软件包
FTP安全设置
1.为了安全应该禁止匿名用户的登录:将配置文件的anonymous_enable参数设为NO,屏蔽匿名用户上传,创建,删除的功能
2.为加强安全设置:限制系统用户锁定在家目录:
#vi /etc/vsftpd/vsftpd.conf
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list //把需要限制的用户加入/etc/vsftpd/chroot_list即可
3.限制其他系统用户不能登录ftp:
#cat /etc/vsftpd/ftpusers //ftpusers是禁止使用FTP用户列表。#echo "uuu" >>/etc/vsftpd/ftpusers 此时viong不能登录ftp //这样uuu用户将不能使用FTP
4.使用FTP的配置文件/etc/vsftpd/user_list来控制只有那些用户可以登录FTP:
/etc/vsftpd/user_list 用于存放哪些用户才能登录系统:
#vi /etc/vsftpd/vsftpd.conf
#在userlist_enable=YES 的后面添加
userlist_deny=NO
userlist_file=/etc/vsftpd/user_list
5.搭建支持SSL加密传输的vsftpd:
首先检查vsftpd软件是否支持SSL:
领取专属 10元无门槛券
私享最新 技术干货