温馨提示×

linux vsftp怎么加用户

小樊
34
2026-10-27 07:51:21
栏目: 智能运维

在 Linux 下使用 vsftpd 添加 FTP 用户,通常有两种常见方式:


一、使用系统用户(最常用)

vsftpd 默认使用 Linux 系统用户登录。

1. 创建系统用户

useradd ftpuser -d /home/ftpuser -s /sbin/nologin

说明:

  • ftpuser:FTP 用户名
  • /home/ftpuser:FTP 根目录
  • /sbin/nologin:禁止 SSH 登录(更安全)

2. 设置密码

passwd ftpuser

3. 设置目录权限

chown -R ftpuser:ftpuser /home/ftpuser
chmod 755 /home/ftpuser

4. 配置 vsftpd(如需要)

编辑 /etc/vsftpd/vsftpd.conf(或 /etc/vsftpd.conf):

local_enable=YES
write_enable=YES

5. 重启 vsftpd

systemctl restart vsftpd

二、使用虚拟用户(推荐用于多用户)

适合只用于 FTP、不创建系统账号的情况。

1. 安装依赖

yum install db4-utils   # CentOS
# 或
apt install libpam-pwdfile  # Ubuntu

2. 创建用户密码文件

vim /etc/vsftpd/vuser.txt

内容:

ftpuser1
123456
ftpuser2
654321

3. 生成数据库

db_load -T -t hash -f /etc/vsftpd/vuser.txt /etc/vsftpd/vuser.db

4. 配置 PAM

编辑 /etc/pam.d/vsftpd:

auth required pam_userdb.so db=/etc/vsftpd/vuser
account required pam_userdb.so db=/etc/vsftpd/vuser

5. 修改 vsftpd 配置

guest_enable=YES
guest_username=ftp
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd/vuser_conf

6. 为每个虚拟用户配置目录

mkdir /etc/vsftpd/vuser_conf
vim /etc/vsftpd/vuser_conf/ftpuser1

内容:

local_root=/data/ftp/ftpuser1
write_enable=YES

三、常见问题

  • 登录失败:检查 selinux、防火墙、被动模式
  • 530 Login incorrect:PAM 配置或密码错误
  • 不能上传:write_enable=YES 是否开启

如果你告诉我:

  • 系统版本(CentOS / Ubuntu)
  • 是否要限制目录
  • 是否允许多用户

我可以给你一份可直接用的配置。

0 踩