在 Linux 上搭建 FTP 服务器并添加用户,常见做法有两种:系统用户(本地用户) 和 虚拟用户(推荐,更安全)。下面以最常用的 vsftpd 为例说明。
# Debian/Ubuntu
sudo apt update
sudo apt install vsftpd
# CentOS/RHEL
sudo yum install vsftpd
sudo useradd -m ftpuser
sudo passwd ftpuser
sudo chown ftpuser:ftpuser /home/ftpuser
编辑 /etc/vsftpd.conf:
local_enable=YES
write_enable=YES
sudo systemctl restart vsftpd
sudo systemctl enable vsftpd
✅ 用户可用 ftpuser / 密码 登录
# Ubuntu
sudo apt install vsftpd libpam-pwdfile
# CentOS
sudo yum install vsftpd
sudo mkdir /etc/vsftpd
sudo vim /etc/vsftpd/vusers.txt
内容:
testuser
testpass
sudo db_load -T -t hash -f /etc/vsftpd/vusers.txt /etc/vsftpd/vusers.db
编辑 /etc/pam.d/vsftpd:
auth required pam_userdb.so db=/etc/vsftpd/vusers
account required pam_userdb.so db=/etc/vsftpd/vusers
sudo useradd -d /home/ftproot -s /sbin/nologin vftp
sudo mkdir /home/ftproot/testuser
sudo chown vftp:vftp /home/ftproot/testuser
anonymous_enable=NO
local_enable=YES
guest_enable=YES
guest_username=vftp
virtual_use_local_privs=YES
user_sub_token=$USER
local_root=/home/ftproot/$USER
sudo systemctl restart vsftpd
# 防火墙
sudo ufw allow 21
# SELinux(CentOS)
sudo setsebool -P ftpd_full_access on
pasv_min_port / pasv_max_port如果你告诉我:
我可以给你一套更精确的配置示例。