FTP的简单介绍
FTP(File Transfer Protocol,文件传输协议)
-
FTP是TCP/IP 协议组中的协议之一。
- 在开发网站的时候,通常利用FTP协议把网页或程序传到Web服务器上。
- 此外,在网络上传输大的文件时,一般也采用该协议。
-
FTP协议包括两个组成部分:
- 其一为FTP服务器
- 其二为FTP客户端。
-
默认情况下FTP协议使用TCP端口中的 20和21这两个端口:
- 20用于传输数据
- 21用于传输控制信息。
-
但是,是否使用20作为传输数据的端口与FTP使用的传输模式有关,
- 如果采用主动模式,那么数据传输端口就是20;
- 如果采用被动模式,则具体最终使用哪个端口要服务器端和客户端协商决定。
vsftpd(very secure FTP daemon)
- 是一款在Linux发行版中最受推崇的FTP服务器。
- 它可以运行在诸如 Linux、BSD、Solaris、 HP-UNIX等系统上面,是一个完全免费的、开放源代码的ftp服务器软件。
-
支持很多其他的 FTP 服务器所不支持的特征。比如:
- 非常高的安全性需求
- 带宽限制
- 良好的可伸缩性
- 可创建虚拟用户
- 支持IPv6、速率高等。
一、安装vsftpd
1. 运行以下命令安装vsftpd
$yum install -y vsftpd
安装成功会显示:
2. 运行以下命令设置FTP服务开机自启动
$systemctl enable vsftpd.service
3. 启动FTP服务
$systemctl start vsftpd.service
4. 运行以下命令查看FTP服务监听的端口。
$netstat -antup | grep ftp
二、配置vsftpd
vsftpd(very secure FTP daemon)是一款在Linux发行版中最受推崇的FTP服务器。vsftpd支持匿名访问和本地用户模式两种访问方式。
- 匿名访问方式任何用户都可以访问搭建的FTP服务;
- 本地用户模式只支持添加的本地用户访问搭建的FTP服务。
说明:匿名用户模式和本地用户模式只可同时配置一种。
这里一定要看清楚👀,不要傻傻地按匿名模式配置了之后又配置本地用户模式❗️,都想试试的话每轮选其一。
匿名模式
1. 修改配置文件vsftpd.conf.
$vim /etc/vsftpd/vsftpd.conf
2. 将匿名上传权限打开
按 i 键进入编辑模式,将anon_upload_enable=YES。
的注释解开。如下图:
按ESC键退出编辑模式,输入:wq 保存并退出vim。
3. 更改/var/ftp/pub目录的权限,为FTP用户添加写权限。
$chmod o+w /var/ftp/pub/
4. 重启FTP服务。
本地用户模式
1. 为FTP服务创建一个Linux用户。
$adduser ftptest # 添加一个用户
$passwd ftptest # 为用户设置密码。
2. 创建一个供FTP服务使用的文件目录。
$mkdir /var/ftp/test
3. 更改/var/ftp/test目录的拥有者为ftptest。
$chown -R ftptest:ftptest /var/ftp/test
4. 修改vsftpd.conf
配置文件。
说明:配置文件较为复杂,建议察阅相关文档📕
5. 在/etc/vsftpd
目录下创建chroot_list
文件,并在文件中写入例外用户名单。
说明: 没有例外用户时,也必须创建chroot_list文件,内容可为空。
三、客户端测试
此步骤仅适用于本地用户模式,主要是用来测试FTP服务端有没有建立成功。
打开Chrom浏览器,在地址栏中输入ftp://:FTP端口
在弹出的对话框中,输入用户名和密码。
登录成功,此时可对FTP文件进行相应权限的操作。
🎉到此为止就大功告成了,是不是很简单。