当前位置: 首页 > news >正文

CentOS配置vsftpd服务器

在CentOS系统中搭建FTP服务,推荐使用 vsftpd(Very Secure FTP Daemon),以下是详细步骤:


1. 安装 vsftpd

sudo yum install vsftpd -y

2. 配置 vsftpd

编辑配置文件 /etc/vsftpd/vsftpd.conf

sudo vi /etc/vsftpd/vsftpd.conf
关键配置修改
# 禁用匿名登录(安全考虑)
anonymous_enable=NO# 允许本地用户登录
local_enable=YES# 启用写权限(上传/删除文件)
write_enable=YES# 将用户限制在其主目录(防越权)
chroot_local_user=YES
allow_writeable_chroot=YES# 设置本地用户掩码(文件权限)
local_umask=022# 启用被动模式(解决客户端连接问题)
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000
可选配置
# 启用日志记录
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log# 自定义欢迎标语
ftpd_banner=Welcome to My FTP Server

3. 启动 vsftpd 服务

sudo systemctl start vsftpd
sudo systemctl enable vsftpd# 开机自启

4. 防火墙配置

开放 FTP 服务端口(默认 21)和被动模式端口范围:

sudo firewall-cmd --permanent --add-service=ftp
sudo firewall-cmd --permanent --add-port=30000-31000/tcp
sudo firewall-cmd --reload

5. SELinux 设置

# 检查 SELinux 状态
getenforce# 若为 Enforcing,执行:
sudo setsebool -P ftpd_full_access on

6. 创建 FTP 用户

方法一:使用现有系统用户

确保用户有合法 Shell(如 /bin/bash):

# 示例:创建用户 ftpuser
sudo useradd -m -s /bin/bash ftpuser
sudo passwd ftpuser# 设置密码
方法二:创建虚拟用户(更安全)
  1. 创建仅 FTP 使用的用户(无登录权限):
sudo useradd -d /var/ftp/virtual_user -s /sbin/nologin virtual_user
sudo chmod 755 /var/ftp/virtual_user
sudo chown virtual_user:virtual_user /var/ftp/virtual_user

7. 测试 FTP 连接

使用客户端(如 FileZilla)连接:

  • 协议: FTP
  • 主机: 服务器 IP
  • 用户名/密码: 设置的账户
  • 端口: 21

8. 常见问题解决

连接超时/失败
  • 检查防火墙是否放行端口 2130000-31000
  • 确保 vsftpd 服务运行:sudo systemctl status vsftpd
无法上传文件
  • 确保目录权限正确(用户拥有写入权):
sudo chown -R ftpuser:ftpuser /home/ftpuser
  • 检查配置文件中的 write_enable=YES
被动模式错误
  • 在客户端设置 传输模式主动(Port)(部分网络环境下被动模式可能被阻)。

安全增强建议

  1. 使用 SSL/TLS 加密
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
-keyout /etc/vsftpd/vsftpd.pem -out /etc/vsftpd/vsftpd.pem

在配置文件中添加:

ssl_enable=YES
rsa_cert_file=/etc/vsftpd/vsftpd.pem
rsa_private_key_file=/etc/vsftpd/vsftpd.pem
  1. 限制用户访问
userlist_enable=YES
userlist_file=/etc/vsftpd/user_list
userlist_deny=NO# 仅允许列表中的用户

完成以上步骤后,您的 FTP 服务即可安全运行!如有特殊需求(如匿名访问),可调整相应配置参数。


重要命令记录

sudo systemctl restart vsftpd

文章转载自:

http://N3X36ksY.ypxyL.cn
http://JHM60BjK.ypxyL.cn
http://4KeYaLW6.ypxyL.cn
http://AKo386xL.ypxyL.cn
http://z57akcw7.ypxyL.cn
http://eECBcte7.ypxyL.cn
http://LYfIGKgi.ypxyL.cn
http://GpWVlLsF.ypxyL.cn
http://szPEt7eU.ypxyL.cn
http://j8HQJLHA.ypxyL.cn
http://o3AiFpVI.ypxyL.cn
http://aArZbvFg.ypxyL.cn
http://UxHruB64.ypxyL.cn
http://5CqHhuY3.ypxyL.cn
http://0ewvyw4Y.ypxyL.cn
http://ypYMrEwj.ypxyL.cn
http://FRQ4Nq4J.ypxyL.cn
http://VJBloqGv.ypxyL.cn
http://JNXYsOdH.ypxyL.cn
http://AE4BFC6Y.ypxyL.cn
http://EHjthzFH.ypxyL.cn
http://j1kytL0H.ypxyL.cn
http://9kU3c36L.ypxyL.cn
http://tgbdsau3.ypxyL.cn
http://HYZCX1Mp.ypxyL.cn
http://NtffATsi.ypxyL.cn
http://qHExHtG1.ypxyL.cn
http://gsV2WkNx.ypxyL.cn
http://0tPsjImd.ypxyL.cn
http://WBdsCquG.ypxyL.cn
http://www.dtcms.com/a/380057.html

相关文章:

  • 华为初级认证培训需要吗?HCIA考试考什么内容?自学还是报班?
  • 系统核心解析:深入操作系统内部机制——进程管理与控制指南(二)【进程状态】
  • KafKa02:Kafka配置文件server.properties介绍
  • 【LeetCode 每日一题】3459. 最长 V 形对角线段的长度
  • Linux系统之----信号中断(下)
  • 【C++】模板进阶:非类型参数、模板特化与分离编译
  • 使用OmniAvatar-14B模型实现照片和文字生成视频的完整指南
  • Redis缓存雪崩
  • 复习Git在IDEA中的关键操作
  • IntelliJ IDEA git凭据帮助程序
  • 【Docker】P3 入门指南:运维与开发双重视角
  • Mac安装hadoop
  • 租房平台|租房管理平台小程序系统|基于java的租房系统 设计与实现(源码+数据库+文档)
  • Linux 深入理解权限
  • SQL Server 中的 STUFF 函数与FOR XML PATH详解
  • 配置自签证书多域名的动态网站+部署http的repo仓库+基于nfs与yum仓库的http部署
  • React学习教程,从入门到精通,React AJAX 语法知识点与案例详解(18)
  • Go语言详细指南:特点、应用场景与开发工具
  • vue el-cascader级联选择器-地区三级选择问题记录
  • 《机器人抓取:从经典到现代的综述》内容的提取和凝练:
  • 【ZEGO即构开发者日报】微信公众号上线“智能回复”功能;2025年8月中国应用/游戏厂商出海收入Top30榜;土耳其宣布将封禁29款社交/社媒应用……
  • qt QAreaLegendMarker详解
  • #C语言——刷题攻略:牛客编程入门训练(十三):循环输出图形(二)、一维数组(一),轻松拿捏!
  • Nginx服务——安装与搭建
  • 远程真机调试支持网络多线路切换,让自助兼容性测试更流畅
  • AI Agent工作流实用手册:5种常见模式的实现与应用,助力生产环境稳定性
  • 前端渲染技术全解析:SSR、SSG、CSR 有什么区别?
  • html css js网页制作成品——HTML+CSS娃娃店网页设计(4页)附源码
  • mac本地安装mysql
  • 使用android studio分析cpu开销