在 Linux 下使用 vsftpd 添加 FTP 用户,通常有两种常见方式:
vsftpd 默认使用 Linux 系统用户登录。
useradd ftpuser -d /home/ftpuser -s /sbin/nologin
说明:
ftpuser:FTP 用户名/home/ftpuser:FTP 根目录/sbin/nologin:禁止 SSH 登录(更安全)passwd ftpuser
chown -R ftpuser:ftpuser /home/ftpuser
chmod 755 /home/ftpuser
编辑 /etc/vsftpd/vsftpd.conf(或 /etc/vsftpd.conf):
local_enable=YES
write_enable=YES
systemctl restart vsftpd
适合只用于 FTP、不创建系统账号的情况。
yum install db4-utils # CentOS
# 或
apt install libpam-pwdfile # Ubuntu
vim /etc/vsftpd/vuser.txt
内容:
ftpuser1
123456
ftpuser2
654321
db_load -T -t hash -f /etc/vsftpd/vuser.txt /etc/vsftpd/vuser.db
编辑 /etc/pam.d/vsftpd:
auth required pam_userdb.so db=/etc/vsftpd/vuser
account required pam_userdb.so db=/etc/vsftpd/vuser
guest_enable=YES
guest_username=ftp
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd/vuser_conf
mkdir /etc/vsftpd/vuser_conf
vim /etc/vsftpd/vuser_conf/ftpuser1
内容:
local_root=/data/ftp/ftpuser1
write_enable=YES
selinux、防火墙、被动模式write_enable=YES 是否开启如果你告诉我:
我可以给你一份可直接用的配置。