关于linux:在-Centos-中搭建-FTP-服务

2次阅读

共计 1382 个字符,预计需要花费 4 分钟才能阅读完成。

FTP 是 File Transfer Protocol 的缩写,用于在网络上进行文件传输的一套标准协议,它工作在 OSI 模型的第七层,TCP 模型的第四层,即应用层,应用 TCP 传输而不是 UDP,客户在和服务器建设连贯前要通过一个“三次握手”的过程,保障客户与服务器之间的连贯是牢靠的,而且是面向连贯,为数据传输提供可靠保证。

装置 vsftpd 服务

vsftpd 是“very secure FTP daemon”的缩写,它是 UNIX 类操作系统上的一个完全免费的、开发源代码的 ftp 服务器软件,反对很多其余的 FTP 服务器所不反对的特色。比方:十分高的安全性需要、带宽限度、良好的可伸缩性、可创立虚构用户、反对 IPv6、速率低等。

这里应用 yum 疾速装置:

yum install vsftpd -y

启动 vsftpd 服务

systemctl enable vsftpd
systemctl start vsftpd

采纳被动模式(PASV)

FTP 协定有两种工作形式:PORT形式和 PASV 形式,中文意思为主动式和被动式。

PORT(被动)形式的连贯过程

客户端向服务器的 FTP 端口(默认是 21)发送连贯申请,服务器承受连贯,建设一条命令链路。

当须要传送数据时,客户端在命令链路上用 PORT 命令通知服务器:“我关上了端口,你过去连贯我”。于是服务器从 20 端口向客户端的端口发送连贯申请,建设一条数据链路来传送数据。

PASV(被动)形式的连贯过程

客户端向服务器的 FTP 端口(默认是 21)发送连贯申请,服务器承受连贯,建设一条命令链路。

当须要传送数据时,服务器在命令链路上用 PASV 命令通知客户端:“我关上了端口,你过去连贯我”。于是客户端向服务器的端口发送连贯申请,建设一条数据链路来传送数据。

配置被动模式

在配置文件 /etc/vsftpd/vsftpd.conf 结尾减少:

pasv_enable=YES
pasv_min_port=6000
pasv_max_port=7000

而后重启 vsftpd 服务使配置失效

systemctl restart vsftpd

凋谢端口

ftp 默认应用 21 端口

firewall-cmd --zone=public --add-port=21/tcp --permanent

这里应用被动模式(PASV),须要在 FTP 服务器软件上为 PASV 形式指定可用的端口范畴:

firewall-cmd --zone=public --add-port=6000-7000/tcp --permanent

重载防火墙,使配置失效

firewall-cmd --reload 

匿名用户登录

默认 /etc/vsftpd/vsftpd.conf 文件里是开启匿名登录的anonymous_enable=YES,匿名用户登录的用户名为anonymous,明码为空,对应目录是/var/ftp

实体用户拜访

增加一个用户用于 ftp 拜访

useradd ftpuser -s /sbin/nologin

设置明码

passwd ftpuser

如果还登录不上,能够依照上面的操作:

查看 /etc/shells 文件里是否存在/sbin/nologin,如果不存在将其加到最初:

echo "/sbin/nologin" >> /etc/shells

因为,ftp会依据 /etc/shells 这个文件来判断一个用户是否是无效用户,会阻止那些 shell 不在 /etc/shells 里的用户登陆。

正文完
 0