在 Linux 上搭建 FTP 服务器(常见如 vsftpd)并添加用户,通常有以下几种方式,下面以 vsftpd(最常用)为例说明。
# CentOS / RHEL
yum install vsftpd -y
# Ubuntu / Debian
apt install vsftpd -y
useradd -m ftpuser
passwd ftpuser
chown -R ftpuser:ftpuser /home/ftpuser
systemctl start vsftpd
systemctl enable vsftpd
✅ 用户可使用:
ftpuser/home/ftpuseruseradd -m -s /sbin/nologin ftpuser
passwd ftpuser
如果 /sbin/nologin 不在 shell 列表:
echo "/sbin/nologin" >> /etc/shells
# CentOS
yum install vsftpd pam* db4*
# Ubuntu
apt install vsftpd libpam-pwdfile
vim /etc/vsftpd/vuser.txt
内容:
user1
123456
user2
abcdef
db_load -T -t hash -f /etc/vsftpd/vuser.txt /etc/vsftpd/vuser.db
vim /etc/pam.d/vsftpd
清空后写入:
auth required pam_userdb.so db=/etc/vsftpd/vuser
account required pam_userdb.so db=/etc/vsftpd/vuser
anonymous_enable=NO
local_enable=YES
write_enable=YES
guest_enable=YES
guest_username=ftp
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd/user_conf
mkdir -p /etc/vsftpd/user_conf
vim /etc/vsftpd/user_conf/user1
local_root=/data/ftp/user1
firewall-cmd --add-service=ftp --permanent
firewall-cmd --reload
setsebool -P ftpd_full_access on
pasv_min_port=30000
pasv_max_port=31000
如果你告诉我:
我可以给你一份 精确配置示例。