在CentOS上搭建多用户FTP服务器,可以使用vsftpd(Very Secure FTP Daemon)这个流行的FTP服务器软件。以下是详细的步骤:
首先,确保你的CentOS系统已经更新到最新状态:
sudo yum update -y
然后安装vsftpd:
sudo yum install vsftpd -y
编辑vsftpd的配置文件 /etc/vsftpd/vsftpd.conf:
sudo vi /etc/vsftpd/vsftpd.conf
在配置文件中进行以下修改:
启用本地用户登录:
local_enable=YES
启用写权限(如果需要):
write_enable=YES
允许匿名用户登录(如果需要):
anonymous_enable=YES
设置匿名用户的主目录(如果需要):
anon_root=/var/ftp
启用chroot jail(可选,但推荐):
chroot_local_user=YES
allow_writeable_chroot=YES
设置用户登录时的主目录:
local_root=/home/$USER
启用被动模式(如果需要通过防火墙访问):
pasv_enable=YES
pasv_min_port=1024
pasv_max_port=1048
保存并退出编辑器。
创建一个新的FTP用户,并设置密码:
sudo adduser ftpuser
sudo passwd ftpuser
按照提示输入并确认密码。
如果SELinux处于 enforcing 模式,可能需要配置SELinux以允许vsftpd正常工作:
sudo setsebool -P ftp_home_dir on
sudo chcon -Rv --type=ftp_home_t /home/ftpuser
启动vsftpd服务并设置开机自启:
sudo systemctl start vsftpd
sudo systemctl enable vsftpd
如果你的系统启用了防火墙,需要允许FTP流量通过:
sudo firewall-cmd --permanent --add-service=ftp
sudo firewall-cmd --reload
使用FTP客户端连接到你的服务器,测试是否可以正常登录和使用FTP服务。
ftp your_server_ip
输入用户名和密码进行登录,然后尝试上传和下载文件。
如果你需要为每个用户配置不同的主目录和权限,可以在 /etc/vsftpd/user_list 文件中添加用户名,并在 /etc/vsftpd/vsftpd.conf 中启用用户列表:
userlist_enable=YES
userlist_file=/etc/vsftpd/user_list
userlist_deny=NO
然后在 /etc/vsftpd/user_list 文件中添加用户名:
sudo vi /etc/vsftpd/user_list
添加用户名 ftpuser 并保存退出。
通过以上步骤,你应该能够在CentOS上成功搭建一个多用户FTP服务器。