FTP —— vsftpd
在 CentOS 上搭建一个安全可用的 FTP 服务器,最常用和推荐的工具是 vsftpd
(Very Secure FTP Daemon)。
📦 安装 vsftpd
-
安装软件
-
sudo yum update -y sudo yum install vsftpd -y
-
- 核心配置:编辑/etc/vsftpd.conf
-
# 禁用匿名登录(重要安全设置) anonymous_enable=NO # 允许本地系统用户登录 local_enable=YES # 允许用户上传/删除文件等写操作 write_enable=YES # 将用户限制在其家目录中,防止其访问系统其他目录 chroot_local_user=YES # 允许在"chroot"禁锢的目录中进行写操作 allow_writeable_chroot=YES# 启用被动模式(PASV),对于通过防火墙或NAT连接非常重要) pasv_enable=YES # 设置被动模式使用的端口范围(方便防火墙配置) pasv_min_port=30000 pasv_max_port=31000 # 如果服务器有公网IP,或在NAT后,可在此指定服务器的公网IP地址 # pasv_address=你的公网IP
修改配置文件后,必须重启 vsftpd 服务以使更改生效
systemctl restart vsftpd
-
- 创建FTP用户
-
useradd -m ftpuser passwd ftpuser chmod 750 /home/ftpuser
-
- 配置防火墙
-
# 放行FTP服务(控制端口21) sudo firewall-cmd --permanent --add-service=ftp # 放行为被动模式指定的端口范围 sudo firewall-cmd --permanent --add-port=30000-31000/tcp # 重新加载防火墙规则 sudo firewall-cmd --reload
-
- 启动服务
-
sudo systemctl start vsftpd sudo systemctl enable vsftpd
-
- 连接测试
-
使用 FTP 客户端软件(如 FileZilla, WinSCP):这是最常用的方式。
-
主机:填写你的 CentOS 服务器的 IP 地址。
-
协议:选择
FTP
或FTP - 文件传输协议
。 -
加密:选择“不使用加密”或“普通FTP”(我们稍后会配置加密)。
-
用户/密码:填写刚才创建的
ftpuser
及其密码。 -
端口:默认为
21
-
-
-
- 使用命令行测试(在服务器本机或另一台 Linux 机器上):
-
ftp 你的服务器IP # 然后输入用户名和密码
-
- 使用命令行测试(在服务器本机或另一台 Linux 机器上):
🛡️ 安全加固(强烈推荐)
基础功能可用后,强烈建议进行以下安全加固:
-
启用 TLS/SSL 加密(FTPS):让数据传输变得加密,避免密码和文件内容明文传输
-
生成 SSL 证书:
-
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/pki/tls/private/vsftpd.key -out /etc/pki/tls/certs/vsftpd.crt
-
- 在
/etc/vsftpd.conf
中添加:-
ssl_enable=YES rsa_cert_file=/etc/pki/tls/certs/vsftpd.crt rsa_private_key_file=/etc/pki/tls/private/vsftpd.key allow_anon_ssl=NO force_local_data_ssl=YES force_local_logins_ssl=YES
-
- 重启服务:
sudo systemctl restart vsftpd
。之后在客户端(如 FileZilla)连接时,需要选择“显式 FTP over TLS”加密方式
-
-
处理 SELinux:如果您的系统启用了 SELinux(默认通常开启),可能需要调整策略以确保文件上传等功能正常
- 允许 FTP 访问家目录:
-
sudo setsebool -P ftp_home_dir 1
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/942479.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!