简介

FTP 是文件传输协议(File Transfer Protocol)的缩写,它是一种用于在网络上进行文件传输的标准网络协议。FTP 协议允许用户在本地计算机和远程服务器之间进行文件传输,可以上传、下载、删除、重命名文件等操作

FTP 协议有两种模式:主动模式(Active Mode)和被动模式(Passive Mode)。在主动模式下,客户端主动建立连接并发送命令到服务器;在被动模式下,服务器主动建立连接并发送命令到客户端

使用 FTP 协议进行文件传输时,需要使用 FTP 客户端软件,如 FileZilla、Xftp 等。这些软件可以连接到 FTP 服务器,并使用 FTP 协议进行文件传输


Window安装

网上基于Window的FTP服务器搭建教程提别多,单同时可能会造成的问题也提别多,建议跟着视频进行操作


Linux安装

可以选择安装如vsftpd、proftpd、PureFTPd等FTP服务软件,下述以PureFTPd为例

在Debian/Ubuntu上安装PureFTPd:

sudo apt update
sudo apt install pure-ftpd

在CentOS/RHEL上安装PureFTPd:

sudo yum install epel-release
sudo yum install pure-ftpd

创建FTP用户并指定目录权限

创建用户,使用useradd命令创建一个名为ftpuser的新用户
-d /var/www/html: 指定该用户的主目录为/var/www/html
-s /usr/sbin/nologin: 指定该用户不能通过SSH登录,仅用于FTP访问

sudo useradd ftpuser -d /var/www/html -s /usr/sbin/nologin

设置密码,为ftpuser设置密码

sudo passwd ftpuser

指定目录权限,将/var/www/html目录及其所有子文件和子目录的所有者更改为ftpuser

sudo chown -R ftpuser:ftpuser /var/www/html

配置PureFTPd

启用UNIX认证,确保PureFTPd使用系统用户进行认证

echo "yes" | sudo tee /etc/pure-ftpd/conf/UnixAuthentication

限制用户访问特定目录,确保用户只能访问其主目录

echo "yes" | sudo tee /etc/pure-ftpd/conf/ChrootEveryone

设置被动端口范围以确保FTP连接能够在防火墙后正常工作

echo "30000 35000" | sudo tee /etc/pure-ftpd/conf/PassivePortRange

服务器有公共IP地址,设置该IP以确保FTP连接正常

echo "外部IP地址" | sudo tee /etc/pure-ftpd/conf/ForcePassiveIP

应用所有配置更改并重启PureFTPd服务

sudo systemctl restart pure-ftpd


连接测试

通过FileZillaXftp软件进行连接测试

FTP测试.png

Last modification:May 24, 2024
如果觉得我的文章对你有用,您可以给博主买一杯果汁,谢谢!