0、引言
本文主要讲解,服务端安装vsftp,客户端使用FileZilla进行连接。
安装前我们还要知道,什么是ftp协议,以及ftp协议使用的端口。
1,什么是FTP?
2,客户端常用的FTP软件
3,vsftp安装及配置
4,vsftp部分配置详解
5,测试连接
1、什么是FTP?
FTP :全称为 File Transfer Protocol,文件传输协议,是 TCP/IP 协议组中的协议之一。
FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端。
其中FTP服务器用来存储文件,用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源。
端口 : 21
主动传输模式 : 20
被动传输模式 :自定义大于1024的端口
2、常用的FTP软件
个人使用推荐 :
MacBook :FileZilla,Transmit
Windows :FileZilla ,Xftp
3、vsftp安装及配置
3.1 安装
- 安装很简单,yum命令
yum install -y vsftpd
- 服务相关命令
systemctl enable vsftpd.service #设置开机启动
systemctl start vsftpd.service #服务启动
systemctl stop vsftpd.service #服务停止
systemctl restart vsftpd.service #重启服务
systemctl status vsftpd.service #查看服务状态
3.2 添加FTP用户
- linux环境添加用户,名字为 ftpuser。并使用户没有登录权限。规定家目录为 /ftp/data
useradd -s /sbin/nologin -d /ftp/data ftpuser
- 设置密码
passwd ftpuser #输入两次密码即可
- 如果需要修改权限,则使用
usermod -s /sbin/bash ftpuser #用户ftpuser恢复正常
usermod -d /ftpuser ftpuser #更改用户的家目录为/ftpuser
3.3 配置FTP
- 修改配置文件 /etc/vsftpd/vsftpd.conf
#我的配置信息如下,及重点配置的解释。
anonymous_enable=NO #是否允许匿名ftp
local_enable=YES #是否允许本地用户登录
ascii_upload_enable=YES #是否使用ascii码方式上传
ascii_download_enable=YES #是否使用ascii码方式下载
chroot_local_user=YES #用户限止在自己的home目录
chroot_list_enable=NO #是否允许例外情况
chroot_list_file=/etc/vsftpd/chroot_list#例外情况用户
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
allow_writeable_chroot=YES #写权限
tcp_wrappers=YES
pasv_enable=YES #开启被动模式
pasv_min_port=4500 #被动模式最小端口
pasv_max_port=5000 #被动模式最大端口
pasv_promiscuous=NO #PASV模式的安全检查
- 修改/创建 chroot_list 文件
如果有特殊的例外情况,需要添加在这个文件内。
比如 :所有用户都限制在家目录。但是ftpuser除外。需要修改上面的配置文件。
#配置文件修改项目
chroot_local_user=YES #用户限止在自己的home目录
chroot_list_enable=YES #是否允许例外情况 允许
#添加上面创建ftpuser用户,每个用户一行。
vi /etc/vsftpd/chroot_list
- 重启服务,测试连接
- 可能出现问题,端口问题
因为使用的是被动连接方式,这是就需要我们的服务器防火墙开放配置端口 4500-5000,如果是阿里云服务器,还需更改安全组。
防火墙不太了解,可以查看我的另一篇文章
firewall-cmd --zone=public --add-port=4500-5000/tcp --permanent
firewall-cmd --reload
4、vsftp部分配置详解
- 主动模式/被动模式 是什么?
- chroot_local_user还能这么用?
5、连接测试
因为打开了被动模式,这里就使用被动方式连接。
调整连接方式。
连接成功后,只能访问家目录。