本教程将指导你在CentOS系统上使用vsftpd(Very Secure FTP Daemon)配置FTP虚拟用户,实现多用户隔离访问。
user1/pass1、user2/pass2)。使用yum包管理器安装vsftpd:
sudo yum install -y vsftpd
安装完成后,启动vsftpd服务并设置开机自启:
sudo systemctl start vsftpd
sudo systemctl enable vsftpd
sudo vim /etc/vsftpd/virtual_users.txt
user1
pass1
user2
pass2
sudo chmod 600 /etc/vsftpd/virtual_users.txt
使用db_load工具将文本文件转换为vsftpd可识别的数据库文件:
sudo db_load -T -t hash -f /etc/vsftpd/virtual_users.txt /etc/vsftpd/virtual_users.db
设置数据库文件权限:
sudo chmod 600 /etc/vsftpd/virtual_users.db
sudo vim /etc/pam.d/vsftpd.virtual
auth required pam_userdb.so db=/etc/vsftpd/virtual_users
account required pam_userdb.so db=/etc/vsftpd/virtual_users
sudo mv /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak
虚拟用户需映射到系统用户(用于限制访问目录),创建专用系统用户:
sudo useradd -d /home/ftpuser -s /sbin/nologin ftpuser
sudo chown ftpuser:ftpuser /home/ftpuser
sudo chmod 755 /home/ftpuser
编辑vsftpd主配置文件:
sudo vim /etc/vsftpd/vsftpd.conf
确保以下关键配置项存在(删除或注释原有冲突配置):
listen=YES
listen_ipv6=NO
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
chroot_local_user=YES
allow_writeable_chroot=YES
pam_service_name=vsftpd.virtual
guest_enable=YES
guest_username=ftpuser
virtual_use_local_privs=YES
user_sub_token=$USER
local_root=/home/$USER
为每个虚拟用户创建专属目录(挂载到其local_root):
sudo mkdir -p /home/user1 /home/user2
sudo chown ftpuser:ftpuser /home/user1 /home/user2
sudo chmod 755 /home/user1 /home/user2
sudo systemctl restart vsftpd
user1)pass1)write_enable=YES生效);chroot_local_user=YES生效)。sudo firewall-cmd --permanent --add-service=ftp
sudo firewall-cmd --reload
sudo setsebool -P ftp_home_dir on
/etc/vsftpd/virtual_users.db);通过以上步骤,你已完成CentOS FTP Server虚拟用户的配置,可实现多用户安全隔离访问。