温馨提示×

Ubuntu FTPServer如何创建用户

小樊
37
2026-07-18 18:21:57
栏目: 智能运维

在 Ubuntu 上搭建 FTPS(FTP over SSL/TLS)服务器 并创建用户,常见做法是使用 vsftpd + SSL/TLS。下面我按完整流程给你说明,包括创建系统用户、配置 FTPS、常见权限问题


一、安装 vsftpd

sudo apt update
sudo apt install vsftpd -y

二、生成 SSL 证书(用于 FTPS)

1️⃣ 创建证书目录

sudo mkdir -p /etc/ssl/private

2️⃣ 生成自签名证书

sudo openssl req -x509 -nodes -days 365 \
  -newkey rsa:2048 \
  -keyout /etc/ssl/private/vsftpd.key \
  -out /etc/ssl/private/vsftpd.crt

按提示填写信息即可,Common Name 建议填服务器 IP 或域名


三、创建 FTP 用户(重点)

✅ 方法一:创建系统用户(最常用)

sudo useradd -m ftpuser
sudo passwd ftpuser

设置密码后,该用户即可登录 FTPS。

✅ 限制用户只能访问 FTP 目录(推荐)

sudo usermod -d /home/ftpuser ftpuser

四、配置 vsftpd(FTPS)

编辑配置文件:

sudo nano /etc/vsftpd.conf

✅ 基础配置(必须)

listen=YES
listen_ipv6=NO

anonymous_enable=NO
local_enable=YES
write_enable=YES

chroot_local_user=YES
allow_writeable_chroot=YES

✅ FTPS(SSL/TLS)配置

ssl_enable=YES
rsa_cert_file=/etc/ssl/private/vsftpd.crt
rsa_private_key_file=/etc/ssl/private/vsftpd.key
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO

force_local_data_ssl=YES
force_local_logins_ssl=YES

五、重启服务

sudo systemctl restart vsftpd
sudo systemctl enable vsftpd

六、测试 FTPS

使用 FileZilla 连接

  • 协议:FTP over TLS (Explicit)
  • 主机:服务器 IP
  • 用户:ftpuser
  • 密码:你设置的密码
  • 端口:21

七、常见问题

❗ 530 Login incorrect

检查:

sudo nano /etc/shells

vsftpd 要求用户 shell 存在,例如:

/bin/bash

❗ 无法上传文件

sudo chown ftpuser:ftpuser /home/ftpuser
sudo chmod 755 /home/ftpuser

✅ 只允许 FTP 用户登录(可选)

userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO

然后:

echo ftpuser | sudo tee -a /etc/vsftpd.userlist

八、非系统用户(虚拟用户)方案(进阶)

如果你需要 成百上千个 FTP 用户,可以使用:

  • vsftpd + PAM + 虚拟用户
  • 或改用 Pure-FTPd

总结一句话

Ubuntu FTPServer 创建用户 = 创建 Linux 用户 + vsftpd 配置 SSL + 权限控制


如果你告诉我:

  • ✅ 是 云服务器 还是 内网
  • ✅ 需要 虚拟用户 还是 系统用户
  • ✅ 是否只允许 上传/下载

我可以给你一份更精确、最简配置

0