在 Linux 上搭建 FTP 服务器并创建 FTP 用户,常见做法有两种:
下面以 vsftpd(最常用) 为例说明。
# CentOS / RHEL
yum install -y vsftpd
# Ubuntu / Debian
apt install -y vsftpd
useradd -m ftpuser
passwd ftpuser
usermod -s /sbin/nologin ftpuser
mkdir -p /home/ftpuser/ftp
chown ftpuser:ftpuser /home/ftpuser/ftp
systemctl start vsftpd
systemctl enable vsftpd
✅ 此时可用 ftpuser / 密码 登录 FTP
# CentOS
yum install -y vsftpd pam pam-devel db4-utils
# Ubuntu
apt install -y vsftpd libpam-pwdfile
vim /etc/vsftpd/virtual_users.txt
内容:
ftpuser1
123456
ftpuser2
abcdef
db_load -T -t hash -f /etc/vsftpd/virtual_users.txt /etc/vsftpd/virtual_users.db
chmod 600 /etc/vsftpd/virtual_users.db
vim /etc/pam.d/vsftpd
注释原有内容,加入:
auth required pam_userdb.so db=/etc/vsftpd/virtual_users
account required pam_userdb.so db=/etc/vsftpd/virtual_users
useradd -d /home/ftpdata -s /sbin/nologin vftp
vim /etc/vsftpd/vsftpd.conf
关键配置:
anonymous_enable=NO
local_enable=YES
write_enable=YES
guest_enable=YES
guest_username=vftp
virtual_use_local_privs=YES
chroot_local_user=YES
allow_writeable_chroot=YES
systemctl restart vsftpd
firewall-cmd --add-service=ftp --permanent
firewall-cmd --reload
setsebool -P ftpd_full_access on
在 vsftpd.conf 添加:
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000
如果你能告诉我:
我可以直接给你一套可复制的配置。