1.ftp协议的相关概念
- FTP(File Transfer Protocol,文件传输协议)是用于在网络上进行文件传输的一套标准协议
- 是 TCP/IP 协议组中的协议之一
- FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端
- 其中FTP服务器用来存储文件,用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源
- 在开发网站的时候,通常利用FTP协议把网页或程序传到Web服务器上
- 由于FTP传输效率非常高,在网络上传输大的文件时,一般也采用该协议
- 默认情况下FTP协议使用TCP端口中的 20和21这两个端口,其中20用于传输数据,21用于传输控制信息
- FTP支持两种模式:Standard (PORT方式,主动方式),Passive (PASV,被动方式)
- 如果采用主动模式,那么数据传输端口就是20;如果采用被动模式,则具体最终使用哪个端口要服务器端和客户端协商决定,随机分配端口大于1024
2.ftp服务的基本信息
ftp服务的软件 |
vsftpd |
ftp浏览器的软件 |
lftp |
默认发布目录 |
/var/ftp |
服务配置文件 |
/etc/vsftpd/vsftpd.conf |
协议端口 |
21/ftp |
- 使用命令:netstat -antlupe | grep vsftpd 查询端口信息
tcp6 0 0 :::21 :::* LISTEN 0 40106 2307/vsftpd
500 |
文件系统权限过大 |
530 |
用户认证失败 |
550 |
服务本身功能未开放 |
553 |
本地文件系统权限过小 |
3.部署ftp服务
vim /etc/yum.repos.d/yum.repo |
编辑yum源文件 |
yum clean all |
清除原有的yum源 |
yum install vsftpd -y |
安装vsftpd服务的软件 |
systemctl start vsftpd |
开启服务 |
systemctl enable vsftpd |
使服务生效 |
systemctl status vsftpd |
查看服务的状态 |
systemctl status firewalld |
查看火墙状态 |
firewall-cmd --permanent --add-service=ftp |
在火墙中添加ftp服务 |
firewall-cmd --reload |
在永久设定的情况下使服务生效 |
firewall-cmd --list-all |
列出火墙的所有信息 |
lftp 172.25.254.66 |
验证ftp服务是否搭建成功(在客户端输入) |
vim /etc/sysconfig/selinux |
编辑此文件 |
SELINUX=disabled |
更改内容为 |
reboot |
|
- 注意: 一台主机可以分别为服务端和客户端,也可同时为服务端和客户端