FTP(文件传输协议)是一种客户端-服务器网络协议,允许用户在远程计算机上传输文件。在Linux中,有多个开源的FTP服务器可用,其中包括PureFTPD、ProFTPD和vsftpd。本教程将指导您在CentOS 8上安装和配置vsftpd(非常安全的FTP守护程序),这是一个稳定、安全和快速的FTP服务器,还将演示如何限制用户到其主目录并启用SSL/TLS加密数据传输。
安装vsftpd: 使用以下命令在默认的CentOS存储库中安装vsftpd:
sudo dnf install vsftpd
安装完成后,启动vsftpd服务并设置为开机自启:
sudo systemctl enable vsftpd --now
您可以通过以下命令验证服务状态:
sudo systemctl status vsftpd
配置vsftpd: vsftpd服务器的配置存储在/etc/vsftpd/vsftpd.conf
文件中。在此文件中,您可以配置各种安全设置。
- 确保只允许本地用户访问FTP服务器,取消以下选项的注释:bashCopy code
anonymous_enable=NO local_enable=YES
- 启用上传文件功能,取消以下选项的注释:bashCopy code
write_enable=YES
- 设置奇鲁特监狱(chroot),防止用户访问其主目录以外的文件,取消以下选项的注释:bashCopy code
chroot_local_user=YES
- 指定被动模式下使用的端口范围:bashCopy code
pasv_min_port=30000 pasv_max_port=31000
- 启用SSL/TLS加密传输,取消以下选项的注释,并设置SSL证书文件路径:bashCopy code
rsa_cert_file=/etc/vsftpd/vsftpd.pem rsa_private_key_file=/etc/vsftpd/vsftpd.pem ssl_enable=YES
完成编辑后,重新启动vsftpd服务以应用更改:
sudo systemctl restart vsftpd
打开防火墙: 如果您运行防火墙(firewalld),请确保打开FTP流量的必要端口。使用以下命令打开所需的端口范围:
sudo firewall-cmd --permanent --add-port=20-21/tcp sudo firewall-cmd --permanent --add-port=30000-31000/tcp sudo firewall-cmd --reload
创建FTP用户: 创建新用户并设置密码:
sudo adduser newftpuser sudo passwd newftpuser
将用户添加到允许登录的FTP用户列表:
echo "newftpuser" | sudo tee -a /etc/vsftpd/user_list
创建FTP目录并设置权限:
sudo mkdir -p /home/newftpuser/ftp/upload sudo chmod 550 /home/newftpuser/ftp sudo chmod 750 /home/newftpuser/ftp/upload sudo chown -R newftpuser: /home/newftpuser/ftp
完成上述步骤后,您的FTP服务器将运行并配置完毕。您可以使用支持SSL/TLS加密的FTP客户端连接到服务器。如果需要,您还可以禁用用户的shell访问以增加安全性。
这些步骤将使您能够在CentOS 8上成功配置和使用vsftpd FTP服务器。
暂无评论内容