温馨提示×

linux ftpserver如何添加用户

小樊
44
2026-08-01 10:05:42
栏目: 智能运维

在 Linux 上添加 FTP 用户,常见做法取决于你使用的 FTP 服务器软件。最常用的是 vsftpd,下面以它为主说明,同时补充 pure-ftpd 的做法。


一、使用 vsftpd 添加 FTP 用户(最常见)

1. 安装 vsftpd

# Debian / Ubuntu
sudo apt update
sudo apt install vsftpd

# CentOS / Rocky / Alma
sudo yum install vsftpd
# 或
sudo dnf install vsftpd

2. 创建 FTP 用户(系统用户)

方式一:只能 FTP,不能登录系统(推荐)

sudo useradd -m -s /usr/sbin/nologin ftpuser
sudo passwd ftpuser

说明:

  • -m:创建家目录
  • /usr/sbin/nologin:禁止 SSH 登录
  • ftpuser:用户名,可自定义

3. 设置 FTP 目录权限

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

4. 配置 vsftpd(关键)

编辑配置文件:

sudo nano /etc/vsftpd.conf

常见配置项(按需开启):

anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES

如果是 Ubuntu 22.04+,建议加:

local_root=/home/ftpuser/ftp
user_sub_token=$USER

5. 重启 vsftpd

sudo systemctl restart vsftpd
sudo systemctl enable vsftpd

6. 测试 FTP

ftp localhost

或用 FileZilla / WinSCP 连接。


二、使用虚拟用户(更安全,进阶)

vsftpd 支持 虚拟用户(不创建系统用户),适合多用户场景。

核心思路

  • 使用 PAM + 用户密码文件
  • 所有虚拟用户映射到一个系统用户

如需要,我可以给你一份 完整虚拟用户配置示例


三、使用 pure-ftpd 添加用户(更简单)

1. 安装

sudo apt install pure-ftpd

2. 创建用户

sudo pure-pw useradd ftpuser -u www-data -d /home/ftpuser
sudo pure-pw mkdb

3. 启动

sudo systemctl restart pure-ftpd

四、常见问题排查

1. 登录失败

  • 检查防火墙:
sudo ufw allow 21
  • 检查 SELinux(CentOS):
sudo setsebool -P ftp_home_dir on

2. 无法上传

  • 确认 write_enable=YES
  • 目录权限是否正确

五、我可以继续帮你

你可以告诉我:

  1. 使用的是 哪个 Linux 发行版
  2. FTP 服务器是 vsftpd / pure-ftpd / proftpd
  3. 本地用户 还是 虚拟用户
  4. 是否需要 限制目录(chroot)

我可以直接给你一份 可复制粘贴的完整配置

0