news 2026/7/23 7:48:10

银河麒麟 / AlmaLinux vsftpd 完整部署全流程(从安装→配置→账号→防火墙→客户端连接)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
银河麒麟 / AlmaLinux vsftpd 完整部署全流程(从安装→配置→账号→防火墙→客户端连接)

一、安装 vsftpd

1. RPM 系(AlmaLinux、CentOS、麒麟服务器)

方式 1:yum 在线安装(推荐) bash 运行 yum install -y vsftpd 方式 2:离线安装(无外网服务器) 有网机器下载 rpm 包 yum install --downloadonly --downloaddir=/tmp/vsftpd vsftpd 将 /tmp/vsftpd 文件夹传到麒麟服务器 离线安装 cd /tmp/vsftpd rpm -ivh *.rpm --nodeps

2. 设置开机自启、启动服务

# 开机自启 systemctl enable vsftpd # 启动服务 systemctl start vsftpd # 查看运行状态 systemctl status vsftpd

二、核心配置文件说明

主配置文件:/etc/vsftpd/vsftpd.conf黑白名单文件:

  1. /etc/vsftpd/user_list:黑名单,匹配用户直接断开连接,不弹出密码框
  2. /etc/vsftpd/ftpusers:终极黑名单,PAM 层拦截,不受配置控制,root 永久在此

三、修改完整可用配置(覆盖默认缺陷,生产标准)

vim /etc/vsftpd/vsftpd.conf

全部替换为下面内容:

# 关闭匿名登录 anonymous_enable=NO # 允许系统本地账号登录 local_enable=YES # 开启上传、新建、删除权限 write_enable=YES # 上传文件权限 644,文件夹755 local_umask=022 # 目录提示、传输日志 dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES xferlog_std_format=YES # 核心安全:禁锢用户家目录,防止访问系统文件 chroot_local_user=YES allow_writeable_chroot=YES # 被动模式端口范围(FileZilla等客户端默认使用) pasv_min_port=40000 pasv_max_port=50000 # 监听IPv4,关闭纯IPv6监听(Windows客户端才能连上) listen=YES listen_ipv6=NO # 认证与黑名单开关 pam_service_name=vsftpd userlist_enable=YES # 关闭反向解析,加快连接速度 reverse_lookup_enable=NO # 禁止递归ls,降低服务器IO压力 ls_recurse_enable=NO

配置生效

systemctl restart vsftpd

四、防火墙放行端口(必须操作,否则外网连不上)

FTP 控制端口 21,被动数据端口 40000-50000

# 永久放行端口 firewall-cmd --permanent --add-port=21/tcp firewall-cmd --permanent --add-port=40000-50000/tcp # 重载防火墙规则 firewall-cmd --reload # 验证端口是否放行 firewall-cmd --list-ports

五、关闭 SELinux(避免上传 / 目录权限报错)

# 临时关闭,重启失效 setenforce 0 # 永久关闭 sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

六、创建 FTP 专用登录账号(禁止 root 登录 FTP)

1. 创建用户 + 指定文件存储目录

# 创建ftpuser用户,家目录/data/ftp_file(FTP虚拟根目录) useradd -d /data/ftp_file ftpuser # 设置登录密码(FTP登录密码和系统密码一致) passwd ftpuser

输入两次密码,即为客户端 FTP 登录密码。

2. 目录权限修复(防 500 chroot 报错)

# 目录归属为ftpuser chown ftpuser:ftpuser /data/ftp_file # 权限755,不能777 chmod 755 /data/ftp_file

七、黑白名单规则说明(默认无需修改)

  1. /etc/vsftpd/user_list内 root、bin、daemon、nobody 等系统账号:直接拒绝连接
  2. /etc/vsftpd/ftpusers同上名单:二次拦截,哪怕删除 user_list 里的 root 也无法登录
  3. 自建用户 ftpuser 不在两份名单,可正常登录

可选:白名单模式(只允许指定用户登录)

如需严格管控,修改 vsftpd.conf 增加一行

userlist_deny=NO

然后清空user_list,只写入允许登录的账号:

ftpuser testuser

重启服务后,只有文件内用户能登录 FTP。

八、主动模式 / 被动模式区分

  1. 控制通道固定 21 端口:传输账号、ls、cd 等命令
  2. 被动模式(推荐,FileZilla / 浏览器默认)客户端主动连服务器 40000-50000 端口传输文件,适配内网、家庭宽带、云服务器,无 NAT 拦截问题。
  3. 主动模式(不推荐)服务器 20 端口主动连客户端,家用路由器会拦截,现象:能登录,但看不到文件列表。

九、登录后目录逻辑(重点)

配置开启chroot_local_user=YES禁锢后:

  1. 客户端 FTP 里看到的虚拟根/= 服务器物理路径/data/ftp_file
  2. 用户无法 cd 切换到 /etc、/usr、/root等系统目录,只能操作 /data/ftp_file 内部文件
  3. 所有上传下载文件全部保存在 /data/ftp_file 下

如果注释掉 chroot 两行(默认裸配置): 仅默认进入 /data/ftp_file,但可随意浏览服务器全部系统文件,极度不安全。

十、客户端连接操作(FileZilla 为例)

  1. 协议:FTP
  2. 主机:服务器 IP
  3. 端口:21
  4. 用户:ftpuser
  5. 密码:你 passwd 设置的密码
  6. 传输设置:保持默认「被动模式」 连接成功后,只能看到 /data/ftp_file 内的文件,无法访问服务器系统目录。

十一、常见故障快速排查

  1. 客户端连不上 FTP:listen=NO(只监听 IPv6)、防火墙 21 端口未放行
  2. 登录成功看不到文件列表:未配置 pasv 端口、防火墙 40000-50000 未放行
  3. 登录报 500 OOPS: chroot:缺少 allow_writeable_chroot=YES 或目录权限 777
  4. 账号 root 无法登录:属于黑名单机制,正常安全设计,不要解除
  5. 无法上传文件:write_enable=NO、目录归属不是 ftpuser、SELinux 拦截
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/23 7:47:57

如何识别C2通信中的恶意出站IP?IP离线库+威胁情报融合方案

去年护网期间,我们监测到内网一台业务服务器持续向境外IP发起异常连接,频率稳定在每30秒一次。防火墙告警显示“疑似C2通信”,但威胁情报平台API查询该IP显示“无已知恶意标记”。团队僵持了近两个小时:直接封禁,怕影响…

作者头像 李华
网站建设 2026/7/23 7:47:07

大路灯护眼灯怎么选?适合学生使用的护眼大路灯推荐,高性价比

最近护眼大路灯越来越受关注,确实,在改善照明环境、缓解视疲劳方面,它确实比传统照明设备更占优势,但市面上的产品质量参差不齐,很多所谓的护眼灯只是挂了个名头,实际在光学设计、用料、技术调控上都存在差…

作者头像 李华
网站建设 2026/7/23 7:46:54

3D视频生成框架WorldWarp:几何一致性与时空噪声调度

1. WorldWarp项目概述WorldWarp是新加坡国立大学与香港理工大学联合研发的3D视频生成框架,其核心创新在于将3D几何重建与视频扩散模型相结合,解决了长视频生成中的几何一致性问题。这个项目瞄准了当前视频生成领域的一个关键痛点:如何在保持高…

作者头像 李华
网站建设 2026/7/23 7:43:25

实习生面试复盘:技术面中暴露的基础薄弱环节整理

实习生面试复盘:技术面中暴露的基础薄弱环节整理 一、深度引言与场景痛点:面试中被问到"基础"时,为什么总是卡壳? 在经历过多轮技术面试后,我系统复盘了每一个答不上来或被追问到卡壳的瞬间。一个让我有些意…

作者头像 李华
网站建设 2026/7/23 7:42:05

UE4SS快速部署与Lua脚本开发:10分钟实现虚幻引擎4运行时修改

1. 项目概述:UE4SS是什么,以及为什么你需要它如果你正在使用虚幻引擎4(UE4)进行开发,无论是制作独立游戏、Mod,还是进行技术研究,你很可能遇到过这样的困境:引擎本身的功能虽然强大&…

作者头像 李华
网站建设 2026/7/23 7:40:34

RAG系统构建实战:多格式文档加载与智能分割技术

1. 项目概述"数据连接实战——文档加载(PDF/网页/Word)智能分割"是AI应用开发中构建RAG(检索增强生成)系统的关键第一步。作为《30天从零玩转AI应用开发》系列的第10篇内容,本教程将手把手带你掌握多格式文档…

作者头像 李华