在CentOS系统下配置VSFTPD(Very Secure FTP Daemon)以支持多用户,可以按照以下步骤进行:
首先,确保你的CentOS系统已经安装了VSFTPD。如果没有安装,可以使用以下命令进行安装:
sudo yum install vsftpd
编辑VSFTPD的配置文件 /etc/vsftpd/vsftpd.conf:
sudo vi /etc/vsftpd/vsftpd.conf
在配置文件中进行以下修改:
启用本地用户登录:
local_enable=YES
启用写权限:
write_enable=YES
允许本地用户上传文件:
local_umask=022
启用被动模式:
pasv_enable=YES
pasv_min_port=1024
pasv_max_port=1048
启用虚拟用户(可选): 如果你需要使用虚拟用户而不是系统用户,可以启用以下选项:
guest_enable=YES
guest_username=ftpuser
virtual_use_local_privs=YES
user_sub_token=$USER
local_root=/home/$USER/ftp
chroot_local_user=YES
allow_writeable_chroot=YES
如果你使用的是系统用户,可以直接创建用户:
sudo adduser ftpuser
sudo passwd ftpuser
如果你使用的是虚拟用户,需要先创建一个系统用户作为虚拟用户的映射:
sudo useradd -d /var/ftp -s /sbin/nologin ftpuser
sudo passwd ftpuser
然后,安装并配置 db4-utils 来管理虚拟用户数据库:
sudo yum install db4-utils
创建虚拟用户数据库文件:
sudo touch /etc/vsftpd/virtual_users.txt
sudo chmod 600 /etc/vsftpd/virtual_users.txt
编辑 /etc/vsftpd/virtual_users.txt 文件,添加虚拟用户信息:
ftpuser
ftpuserpassword
生成数据库文件:
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
创建一个PAM认证文件:
sudo touch /etc/pam.d/virtual
sudo chmod 644 /etc/pam.d/virtual
编辑 /etc/pam.d/virtual 文件,添加以下内容:
auth required pam_userdb.so db=/etc/vsftpd/virtual_users
account required pam_userdb.so db=/etc/vsftpd/virtual_users
编辑 /etc/pam.d/vsftpd 文件,确保包含以下行:
auth required pam_listfile.so item=user sense=allow file=/etc/vsftpd/user_list onerr=succeed
创建 /etc/vsftpd/user_list 文件,并添加允许登录的用户:
sudo touch /etc/vsftpd/user_list
sudo chmod 644 /etc/vsftpd/user_list
在 /etc/vsftpd/user_list 文件中添加用户名:
ftpuser
完成所有配置后,重启VSFTPD服务以应用更改:
sudo systemctl restart vsftpd
确保防火墙允许FTP流量:
sudo firewall-cmd --permanent --zone=public --add-service=ftp
sudo firewall-cmd --reload
使用FTP客户端连接到服务器,测试是否可以正常登录和上传下载文件。
通过以上步骤,你应该能够在CentOS系统下成功配置VSFTPD以支持多用户。