Debian FTP服务器怎么搭建

在 Debian 上搭建 FTP 服务器,最常用、稳定、安全的选择是 vsftpd(Very Secure FTP Daemon)。下面给你一套从零开始的完整搭建流程,适用于 Debian 11 / 12(也适用于 Ubuntu)。


一、安装 vsftpd

sudo apt update
sudo apt install vsftpd -y

安装完成后,服务会自动启动。

检查状态:

sudo systemctl status vsftpd

二、备份并编辑配置文件

1️⃣ 备份原配置

sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak

2️⃣ 编辑配置文件

sudo nano /etc/vsftpd.conf

三、常用推荐配置(适合大多数场景)

✅ 基础配置

# 禁止匿名登录
anonymous_enable=NO

# 允许本地用户登录
local_enable=YES

# 允许上传文件
write_enable=YES

# 本地用户上传文件的权限(022 = 755)
local_umask=022

# 禁止用户离开家目录(推荐使用)
chroot_local_user=YES

# 允许写 chroot(Debian 必须)
allow_writeable_chroot=YES

# 被动模式(非常重要,云服务器必须)
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000

四、创建 FTP 用户(推荐方式)

⚠️ 不建议直接用 root 登录 FTP

1️⃣ 创建用户

sudo adduser ftpuser

设置密码。

2️⃣ 指定 FTP 目录(可选)

sudo mkdir -p /home/ftpuser/ftp
sudo chown ftpuser:ftpuser /home/ftpuser/ftp

五、防火墙设置

1️⃣ 开放 FTP 端口

sudo ufw allow 20/tcp
sudo ufw allow 21/tcp
sudo ufw allow 30000:31000/tcp

查看状态:

sudo ufw status

六、重启 vsftpd

sudo systemctl restart vsftpd
sudo systemctl enable vsftpd

七、测试 FTP 连接

在 Linux / macOS

ftp 服务器IP

在 Windows

  • 使用 FileZilla
  • 协议:FTP
  • 加密:只使用明文 FTP(或选“只使用被动模式”)

八、常见错误 & 解决方法

❌ 530 Login incorrect

  • 用户被 nologin 限制
  • 检查:
cat /etc/shells

确保用户 shell 是合法 shell(如 /bin/bash


❌ 500 OOPS: vsftpd: refusing to run with writable root inside chroot

添加:

allow_writeable_chroot=YES

❌ 云服务器连不上

✅ 一定要配置 被动模式 + 安全组放行端口


九、安全加固建议(强烈推荐)

✅ 禁止 root 登录
✅ 使用被动模式
✅ 配置防火墙
✅ 只开放必要端口
✅ 考虑使用 SFTP(SSH) 替代 FTP(更安全)


十、替代方案(更安全)

如果你不需要“传统 FTP”,强烈推荐 SFTP

# 直接用 SSH
sftp user@服务器IP

无需额外安装 FTP 软件 ✅


如果你愿意,可以告诉我:

  • ✅ 是 云服务器 还是 内网
  • ✅ 是否需要 匿名访问
  • ✅ 是否要 虚拟用户
  • ✅ Debian 版本

我可以帮你定制一套适合你环境的 FTP 配置。

相关推荐:

Debian extract配置需要权限吗

在Debian系统中,是否需要权限取决于你“extract(解压/提取)”的对象和方式。下面分情况说明: 一、解压常见压缩包(一般不需要特殊权限) 如果你只是解压普通压缩文件(如.tar.gz、.zip、.tar.xz等): tar-xvffile.tar.gz unzipfile.zip ✅一般不...

如何登录Debian FTP服务器

要登录Debian上的FTP服务器,通常分为两种情况:以客户端身份登录和在Debian上搭建并登录FTP服务。下面分别说明。 一、以客户端方式登录DebianFTP服务器 1️⃣使用命令行FTP客户端(推荐) 安装FTP客户端 sudoaptupdate sudoaptinstallftp 登录FT...

Debian extract配置如何测试

在Debian系统中,“extract配置”这个说法比较宽泛,常见有几种可能,我按最常见的场景给你说明,并给出测试方法。你可以对照看看是哪一种,或者把具体命令/文件贴出来,我可以更精确帮你。 一、如果你指的是Debian软件包解包(dpkg/aptextract) 1️⃣解包.deb包但不安装 dp...

Debian提取文件怎么配置

在Debian系统中,“提取文件”通常指解压/解包各种压缩文件(如.tar.gz、.zip、.rar等)。下面按常见压缩格式给你一份完整配置与使用说明,适合新手和服务器环境。 一、常用压缩格式与对应命令 文件类型 解压命令 说明 .tar tar-xvffile.tar 仅打包 .tar.gz/.t...

怎么备份Debian FTP服务器

备份Debian上的FTP服务器,通常包含用户数据、配置文件、权限和日志。下面按「常见场景」给你一套完整、可操作的备份方案。 一、先确认你用的是哪种FTP服务 Debian常见FTP服务有: vsftpd(最常见) ProFTPD Pure-FTPd 先确认: dpkg-l|grep-E'vsftp...

Debian怎么设置extract

在Debian里“extract”通常指解压文件。不同格式用的命令不一样,下面给你一份常用、实用速查表,基本覆盖99%场景。 一、常用解压命令(终端) 1️⃣.tar tar-xvffile.tar 2️⃣.tar.gz/.tgz tar-xzvffile.tar.gz 3️⃣.tar.bz2 ta...

MongoDB在Debian怎么用

在Debian系统上使用MongoDB,一般流程是:安装→启动→连接→基本使用。下面按步骤说明(以Debian11/12为例,MongoDB6.x/7.x)。 一、安装MongoDB(官方推荐方式) 1️⃣导入MongoDB官方GPG密钥 curl-fsSLhttps://www.mongodb.o...

Debian如何启动MongoDB

在Debian上启动MongoDB,通常分为安装→启动→设置开机自启几个步骤。下面以Debian11/12为例说明(适用于MongoDB6.x/7.x)。 一、安装MongoDB(如已安装可跳过) 1.导入MongoDB官方GPG密钥 curl-fsSLhttps://www.mongodb.org...