跳至主要內容

FTP服务搭建

向往大约 2 分钟其他工具使用

安装

## 运行以下命令,安装vsftpd。
yum install -y vsftpd

## 设置FTP服务开机自启动
systemctl enable vsftpd.service

## 启动FTP服务
systemctl start vsftpd.service

设置

本地用户模式

## 为FTP服务创建一个Linux用户
adduser ftptest

##修改ftptest用户的密码
passwd ftptest

## 运行以下命令创建一个供FTP服务使用的文件目录
mkdir /var/ftp/test

## chown -R ftptest:ftptest /var/ftp/test
chown -R ftptest:ftptest /var/ftp/test

修改配置文件,运行以下命令,修改配置文件/etc/vsftpd/vsftpd.conf。使用的是apt install vsftpd安装命令,则配置文件路径为/etc/vsftpd.conf。

vim /etc/vsftpd/vsftpd.conf

替换为以下文件内容:

#除下面提及的参数,其他参数保持默认值即可。

#修改下列参数的值:
#禁止匿名登录FTP服务器。
anonymous_enable=NO
#允许本地用户登录FTP服务器。
local_enable=YES
#监听IPv4 sockets。
listen=YES

#在行首添加#注释掉以下参数:
#关闭监听IPv6 sockets。
#listen_ipv6=YES

#在配置文件的末尾添加下列参数:
#设置本地用户登录后所在目录。
local_root=/var/ftp/test
#全部用户被限制在主目录。
chroot_local_user=YES
#启用例外用户名单。
chroot_list_enable=YES
#指定例外用户列表文件,列表中用户不被锁定在主目录。
chroot_list_file=/etc/vsftpd/chroot_list
#开启被动模式。
pasv_enable=YES
allow_writeable_chroot=YES
#本示例中为Linux服务器的公网IP。
pasv_address=<FTP服务器公网IP地址>
#设置被动模式下,建立数据传输可使用的端口范围的最小值。
#建议您把端口范围设置在一段比较高的范围内,例如50000~50010,有助于提高访问FTP服务器的安全性。
pasv_min_port=<port number>
#设置被动模式下,建立数据传输可使用的端口范围的最大值。
pasv_max_port=<port number>

创建chroot_list文件,并在文件中写入例外用户名单。输入例外用户名单。此名单中的用户不会被锁定在主目录,可以访问其他目录。

vim /etc/vsftpd/chroot_list

:::warn

没有例外用户时,也必须创建chroot_list文件,内容可为空。

:::

关闭防火墙

systemctl stop firewalld

运行以下命令,打开/etc/ssh/sshd_config文件。

vi /etc/ssh/sshd_config

在文件尾行将PasswordAuthentication的值改为yes

image-20221022095945325

重启FTP服务

systemctl restart vsftpd.service

连接

image-20221022101948026

参考链接