在 Linux 上配置 FTP 服务器账号,常见做法是使用 vsftpd(最常用)。下面按“安装 → 创建系统/虚拟用户 → 配置权限”的流程说明。
yum install -y vsftpd
systemctl enable --now vsftpd
apt update
apt install -y vsftpd
systemctl enable --now vsftpd
useradd -m ftpuser
passwd ftpuser
usermod -s /sbin/nologin ftpuser
编辑:
vim /etc/vsftpd/vsftpd.conf
关键配置:
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES
重启:
systemctl restart vsftpd
✅ 用户 ftpuser 即可用 FTP 登录,根目录为 /home/ftpuser
vim /etc/vsftpd/vusers.txt
内容:
ftpuser1
123456
ftpuser2
654321
db_load -T -t hash -f /etc/vsftpd/vusers.txt /etc/vsftpd/vusers.db
chmod 600 /etc/vsftpd/vusers.db
vim /etc/pam.d/vsftpd
注释原有内容,加入:
auth required pam_userdb.so db=/etc/vsftpd/vusers
account required pam_userdb.so db=/etc/vsftpd/vusers
useradd -d /home/ftproot -s /sbin/nologin vftp
mkdir -p /home/ftproot
chown vftp:vftp /home/ftproot
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
user_config_dir=/etc/vsftpd/user_conf
mkdir -p /etc/vsftpd/user_conf
vim /etc/vsftpd/user_conf/ftpuser1
示例:
local_root=/home/ftproot/ftpuser1
write_enable=YES
创建目录:
mkdir -p /home/ftproot/ftpuser1
chown vftp:vftp /home/ftproot/ftpuser1
重启:
systemctl restart vsftpd
firewall-cmd --add-service=ftp --permanent
firewall-cmd --reload
setsebool -P ftp_home_dir on
ftp localhost
或:
lftp ftpuser@server_ip
如果你告诉我:
我可以给你一套可直接用的配置文件。