在 CentOS 上搭建 FTP 服务器(以 vsftpd 为例) 时,添加 FTP 用户通常有两种方式:
yum install -y vsftpd
systemctl start vsftpd
systemctl enable vsftpd
useradd -m ftpuser
passwd ftpuser
usermod -s /sbin/nologin ftpuser
chown -R ftpuser:ftpuser /home/ftpuser
✅ 默认 vsftpd 允许系统用户登录 FTP
yum install -y vsftpd pam* db4*
vi /etc/vsftpd/vusers.txt
内容:
user1
123456
user2
654321
db_load -T -t hash -f /etc/vsftpd/vusers.txt /etc/vsftpd/vusers.db
chmod 600 /etc/vsftpd/vusers.db
vi /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
chmod 755 /home/ftproot
vi /etc/vsftpd/vsftpd.conf
关键配置:
anonymous_enable=NO
local_enable=YES
write_enable=YES
guest_enable=YES
guest_username=vftp
pam_service_name=vsftpd
user_config_dir=/etc/vsftpd/user_conf
mkdir /etc/vsftpd/user_conf
vi /etc/vsftpd/user_conf/user1
示例:
local_root=/home/ftproot/user1
write_enable=YES
mkdir -p /home/ftproot/user1
chown -R vftp:vftp /home/ftproot/user1
systemctl restart vsftpd
firewall-cmd --add-service=ftp --permanent
firewall-cmd --reload
setsebool -P ftp_home_dir on
如果你告诉我:
我可以给你更精确的配置示例。