首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >CentOS 安装ftp及用户简单配置

CentOS 安装ftp及用户简单配置

作者头像
master336
发布2026-06-15 19:50:14
发布2026-06-15 19:50:14
130
举报
这里写自定义目录标题

  • 安装vsftpd及服务状态检查
    • 防火墙配置
    • FTP配置
      • 限制匿名访问
      • 新建ftp用户及限制ftp用户登录系统
    • 其他常用命令
    • 常见问题
    • 建议和总结

安装vsftpd及服务状态检查

执行如下命令完成ftp安装

代码语言:javascript
复制
yum install -y vsftpd

安装ftp服务时会默认创建用户,建议使用root用户安装

在这里插入图片描述
在这里插入图片描述

查看ftp服务状态:

代码语言:javascript
复制
systemctl status vsftpd
在这里插入图片描述
在这里插入图片描述

开启ftp服务

代码语言:javascript
复制
systemctl start vsftpd

防火墙配置

代码语言:javascript
复制
配置了iptables或者firewalld防火墙,记得将ftp端口或者ftp服务放开限制(默认端口21情况下)
如:
firewall-cmd --permanent --zone=public --add-service=ftp
注意:使用云服务的小伙伴,注意检查云服务器的网络安全组,是否限制了入栈和出栈规则(一般来说放开入栈的21端口即可)。

FTP配置

限制匿名访问

取消匿名访问 vim /etc/vsftpd/vsftpd.conf 变更anonymous_enable=YES 为 anonymous_enable=NO

新建ftp用户及限制ftp用户登录系统

  1. 新增用户(原理,新增系统用户,然后限制新增用户登录系统) useradd ftpuser
  2. 设置用户密码(记得输入两边) password ftpuser
  3. 设置用户目录 chown -R ftpuser:ftpuser /var/ftp/pub
  4. 设置不允许登录清单

4.1 查找nologin文件地址 which nologin 默认位置:/usr/sbin/nologin 4.2 将nologin写入shell配置 vim /etc/shells 将【which nologin】的查询结果写入到shells文件中,已经存在则无需修改 4.3 增加限制登录shell用户(ftpuser为限制的用户) usermod -s /usr/sbin/nologin ftpuser 这样,ftpuser用户就被限制登录了,但是不影响ftp的使用

其他常用命令

  1. ftp服务开机自启 systemctl enable vsftpd
  2. ftp服务重启 systemctl restart vsftpd
  3. ftp服务关闭 systemctl stop vsftpd
  4. 查看ftp服务端口状态 netstat -tunlp|grep ftp
  5. friewalld放开端口(–permanent 永久生效) firewall-cmd --zone=public --add-port=21/tcp --permanent
  6. firewalld查看开放端口 firewall-cmd --list-ports
  7. firewalld 查看开发服务 firewall-cmd --list-services
  8. 删除用户(如下删除ftpuser) userdel ftpuser
  9. 禁用用户(与该用户所有相关的操作均被禁止,如ftp登录) passwd -l user
  10. 解除禁用用户 passwd -u user

常见问题

  1. 服务器发回了不可路由的地址。使用服务器地址代替 这种情况下主要发生在被动模式下(实际上主动模式不知道)的访问 修改配置文件 vim /etc/vsftpd/vsftpd.conf 添加如下内容(端口及ip记得更换,端口不冲突即可,ip换成可以外界访问的ip)
代码语言:javascript
复制
#开启被动模式
pasv_enable=YES
#被动模式端口范围
pasv_min_port=2100
pasv_max_port=2110
#需要加入外部ip,否则被动模式会失败
pasv_address=39.98.255.255
pasv_addr_resolve=YES
  1. 针对第一个问题,需要注意的是,开放的端口范围需要在防火墙里配置,不然也是不行的,同时,如果是使用如阿里云等云服务时,也是需要在安全组内配置这些端口的入栈规则
  2. 关于SELinux的问题 确实有些情况下是因为SELinux的原因导致无法正确连接FTP服务器,但是当你执行setsebool 等命令的时候,如果提示你SELinux is disabled,就不要纠结是不是SELinux的问题了。
  3. 关于无法连接的问题 这个问题主要有三种可能 a. 最常见的错误就是地址写错,这个也最好识别 b. 服务网络限制,这类主要情况就是端口被各种限制了,比如防火墙,云服务的安全组等 这类问题,建议通过如netstat -tunlp命令,检查端口监听是否正常 通过如telnet,对端口进行测试 c. 服务配置有问题 在ftp服务器上安装ftp ,先在服务器上使用ftp做连接测试,如果测试都没有问题,那就说明服务本身是正常的,如下:
在这里插入图片描述
在这里插入图片描述
  1. 关于启用限制上级目录访问无法登录的问题 其实这个问题本质上跟限不限制关系不大,是因为权限配置问题: 编辑配置文件vim /etc/vsftpd/vsftpd.conf,检查如下配置即可 allow_writeable_chroot=YES write_enable=YES 另外由于对于你指定的ftp目录,登录用户也是需要有读写权限的
  2. 关于chroot_list_enable的问题,这个问题可以参考
在这里插入图片描述
在这里插入图片描述

建议和总结

  1. ftp可以使用虚拟用户登录ftp(比较麻烦,但是比较安全)。
  2. ftp端口可以更改,如果放置比较重要的文件,建议更改(同时记得修改防火墙设置)。
  3. 从安全的角度考虑,建议限制ftp用户的登录,除非你能保证安全。
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2026-06-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 这里写自定义目录标题
  • 安装vsftpd及服务状态检查
    • 防火墙配置
    • FTP配置
      • 限制匿名访问
      • 新建ftp用户及限制ftp用户登录系统
    • 其他常用命令
    • 常见问题
    • 建议和总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档