CentOS FTP服务器配置步骤详解
导读:CentOS FTP服务器配置步骤详解 一 环境准备与安装 更新系统并安装 vsftpd(Very Secure FTP Daemon): 命令:sudo yum update -y 命令:sudo yum install vsftpd...
CentOS FTP服务器配置步骤详解
一 环境准备与安装
- 更新系统并安装 vsftpd(Very Secure FTP Daemon):
- 命令:
sudo yum update -y - 命令:
sudo yum install vsftpd -y
- 命令:
- 启动服务并设为开机自启:
- 命令:
sudo systemctl start vsftpd - 命令:
sudo systemctl enable vsftpd
- 命令:
- 说明:vsftpd 是 CentOS 上常用的 FTP 服务组件,后续配置均围绕其主配置文件 /etc/vsftpd/vsftpd.conf 进行。
二 核心配置 vsftpd.conf
- 备份原始配置:
sudo cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak - 建议的基础配置(编辑文件:
sudo vi /etc/vsftpd/vsftpd.conf):- 监听与协议
listen=YESlisten_ipv6=NO
- 身份与权限
anonymous_enable=NO(禁止匿名,生产推荐)local_enable=YES(允许本地系统用户)write_enable=YES(允许写操作)local_umask=022(上传文件默认权限掩码)
- 目录与隔离
chroot_local_user=YES(将本地用户限制在其主目录)allow_writeable_chroot=YES(允许被 chroot 的目录可写,否则登录可能失败)
- 用户访问控制
userlist_enable=YESuserlist_deny=NO(仅允许 /etc/vsftpd/user_list 中的用户登录)- 将允许登录的用户名写入:/etc/vsftpd/user_list
- 禁止登录的系统账号写入:/etc/vsftpd/ftpusers
- 被动模式(PASV,云服务器或存在 NAT 时强烈建议)
pasv_enable=YESpasv_min_port=1024pasv_max_port=1048
- 监听与协议
- 保存后重启服务:
sudo systemctl restart vsftpd - 提示:vsftpd 配置为“键=值”格式,等号两侧不要留空格;修改前先备份,变更后用
systemctl restart vsftpd使配置生效。
三 防火墙与端口开放
- 使用 firewalld(CentOS 常用):
- 开放 FTP 服务:
sudo firewall-cmd --permanent --add-service=ftp - 或显式开放端口:
sudo firewall-cmd --permanent --add-port=20-21/tcp - 若启用了被动模式,放行数据端口范围:
sudo firewall-cmd --permanent --add-port=1024-1048/tcp - 重载规则:
sudo firewall-cmd --reload
- 开放 FTP 服务:
- 如使用云服务器,还需在云平台安全组放行 21/tcp 与 1024–1048/tcp。
四 创建用户与目录权限
- 创建专用 FTP 用户(禁止登录 shell,更安全):
- 命令:
sudo useradd -m -s /sbin/nologin ftpuser - 设置密码:
sudo passwd ftpuser
- 命令:
- 目录与权限示例:
- 指定共享目录(可选):
sudo mkdir -p /data/ftp - 赋权:
sudo chown -R ftpuser:ftpuser /data/ftp - 权限:
sudo chmod -R 755 /data/ftp - 如需将该目录作为用户家目录,可在创建用户时使用
-d /data/ftp指定,并再次确认权限与属主。
- 指定共享目录(可选):
- 说明:合理的属主与权限可避免“无法写入/创建目录”等问题,并降低安全风险。
五 加密传输与测试
- 启用 SSL/TLS(FTPS)
- 生成自签名证书(示例,有效期 365 天):
- 命令:
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/pki/tls/private/vsftpd.pem -out /etc/pki/tls/certs/vsftpd.pem
- 命令:
- 配置 vsftpd(/etc/vsftpd/vsftpd.conf):
ssl_enable=YESallow_anon_ssl=NOforce_local_data_ssl=YESforce_local_logins_ssl=YESssl_tlsv1=YESssl_sslv2=NOssl_sslv3=NOrsa_cert_file=/etc/pki/tls/certs/vsftpd.pemrsa_private_key_file=/etc/pki/tls/private/vsftpd.pem
- 重启服务:
sudo systemctl restart vsftpd - 客户端连接:使用支持 FTP over TLS 的客户端(如 FileZilla),端口 21,协议选择 FTPES。
- 生成自签名证书(示例,有效期 365 天):
- 连通性与功能性测试
- 命令行测试:
ftp your_server_ip(明文)或lftp -u ftpuser -p your_password your_server_ip(建议用 TLS) - 验证:登录、列目录、上传/下载、创建目录、删除文件。
- 日志排查:查看 /var/log/vsftpd.log 获取失败原因(如权限、被动端口未放行、SELinux 等)。
- 命令行测试:
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: CentOS FTP服务器配置步骤详解
本文地址: https://pptw.com/jishu/759182.html
