当前位置: 首页 > Linux

在Centos中搭建FTP服务

时间:2023-04-06 03:34:56 Linux

FTP是FileTransferProtocol的缩写,是一套在网络上进行文件传输的标准协议。它工作在OSI模型的第七层和TCP模型的第四层,即应用层,使用TCP传输而不是UDP,客户端在建立连接之前必须经过“三次握手”过程服务器保证客户端与服务器之间的连接是可靠的,它是面向连接的,为数据传输提供了可靠的保证。安装vsftpd服务vsftpd是“verysecureFTPdaemon”的缩写。它是一个在类UNIX操作系统上完全免费和开源的FTP服务器软件。它支持许多其他FTP服务器不支持的功能。例如:安全性要求非常高、带宽受限、扩展性好、可以创建虚拟用户、支持IPv6、速度快等。使用yum快速安装:yuminstallvsftpd-ystartvsftpdservicesystemctlenablevsftpdsystemctlstartvsftpd采用passive模式(PASV)FTP协议有两种工作模式:PORT模式和PASV模式,中文意思是主动和被动。在PORT(主动)模式的连接过程中,客户端向服务器的FTP端口(默认为21)发送连接请求,服务器接受连接并建立命令链接。当需要传输数据时,客户端在命令链接上使用PORT命令告诉服务器:“我已经打开了端口,快来连接我”。于是服务器端从20端口向客户端端口发送连接请求,建立数据链路传输数据。在PASV(被动)模式的连接过程中,客户端向服务器的FTP端口(默认为21)发送连接请求,服务器接受连接并建立命令链接。当需要传输数据时,服务器在命令链接上使用PASV命令告诉客户端:“我已经打开了端口,过来连接我”。然后客户端向服务器端口发送连接请求,建立数据链路传输数据。配置被动模式,在配置文件/etc/vsftpd/vsftpd.conf末尾添加:pasv_enable=YESpasv_min_port=6000pasv_max_port=7000然后重启vsftpd服务使配置生效systemctlrestartvsftpdopenportftp使用21端口默认情况下firewall-cmd--zone=public--add-port=21/tcp--permanent这里使用被动模式(PASV),需要在FTP服务器软件上指定PASV模式可用的端口范围:firewall-cmd--zone=public--add-port=6000-7000/tcp--permanent重新加载防火墙使配置生效=YES表示匿名登录,匿名用户登录的用户名为anonymous,密码为空,对应目录为/var/ftp。实体用户访问添加用户进行ftp访问useraddftpuser-s/sbin/nologinsetpasswordpasswdftpuser如果还是不能登录,可以按照以下操作:查看/etc/shells中是否存在/sbin/nologin文件,如果不在末尾添加:echo"/sbin/nologin">>/etc/shells因为,ftp会根据文件/etc/shells来判断一个用户是否是合法用户,并会阻止那些shells不在/etc/shells用户登录。