服务器下有哪些FTP用户,Linux如何查看FTP用户?

查看服务器下有哪些FTP用户,核心方法只有一句话:直接看/etc/passwd和/etc/vsftpd配置文件,真实用户列表与虚拟用户映射都在这里。下面我们基于Linux系统(CentOS/Rocky/Ubuntu)和主流vsftpd服务,讲透具体的查看命令与运维思路。

先搞清楚:FTP用户存在哪里?

FTP服务本身不保存用户数据,它只是验证用户身份后放行,绝大多数Linux发行版部署的vsftpd,默认使用系统账户数据库(/etc/passwd)作为用户名来源。

文件传输服务配置和使用(vsftpd和ftp)
加载中
文件传输服务配置和使用(vsftpd和ftp)
  • 系统真实用户的登录Shell、UID、家目录都记录在/etc/passwd中。
  • FTP访问权限实际上由PAM认证模块接管,所以/etc/pam.d/vsftpd也是关键入口。
  • 管理侧的重点在于,能登录FTP的不止普通用户,可能还有系统服务的专用账户。

简米云、酷番云的常规云服务器镜像默认就带了vsftpd,只是未启动,多数情况下你查用户列表,就是在查这个文件占比最大的那批账户。

实操:四条命令直接拿到用户列表

查看所有系统用户清单

cat /etc/passwd

这个输出包含所有用户,每一行由7个冒号分隔的字段构成,只看用户名和家目录,用:

awk -F':' '{print $1, $6}' /etc/passwd

结合FTP场景,更精准的做法是使用getent:

getent passwd

两者作用类似,getent的优势是它会查询NSS配置的所有数据库,如果服务器做了LDAP或NIS统一认证,结果会更完整。

筛选允许登录Shell的用户

FTP本质上需要用户能够完成登录流程,Shell为/sbin/nologin或/bin/false的系统账户通常不具备FTP能力(除非vsftpd开了特殊参数)。

grep -E '/(bin/bash|bin/sh)$' /etc/passwd

这个列表大体上就是你能正常登录FTP的真实用户群体。

查看vsftpd本地用户开关

确认一下FTP服务是否真的允许系统用户登录:

grep -E 'local_enable|guest_enable|virtual_use_local_privs' /etc/vsftpd/vsftpd.conf

如果local_enable=YES,则/etc/passwd中的用户就可以直接用于FTP登录,这一项是配置文件里默认打开的,但安全加固过的服务器可能被关闭。

虚拟用户的独立配置文件

部分服务器为了隔离权限,使用vsftpd的虚拟用户功能,这个模式下共享一个系统映射账户(通常是ftpuser或vuser),真正的虚拟用户名记录在自定义数据库中:

# 查看虚拟用户数据库文件路径(以db_file配置项为准)
grep -E 'user_config_dir|database' /etc/vsftpd/vsftpd.conf

常见路径为/etc/vsftpd/vuser_passwd.txt或/etc/vsftpd/vusers.db,文本格式的话直接cat即可,如果被编译成Berkeley DB,需要执行db_load反向恢复:

db_dump -p /etc/vsftpd/vusers.db | grep '^ ' | head -n 20

还有一类情况是用户配置目录/etc/vsftpd/user_conf/下按用户名命名的文件,直接ls这个目录就能看到所有虚拟用户的名单:

ls /etc/vsftpd/user_conf/

怎么判断哪个用户是纯FTP专用账户

服务器下有哪些FTP用户,Linux如何查看FTP用户?

这类账户在常规业务服务器上比较特殊,它们通常特点明显:家目录位于/home/或/data/下、登录Shell为/sbin/nologin、UID大于1000,且专门为某个项目创建。

awk -F':' '($3>=1000 && $7~/(nologin|false)/){print $1, $6}' /etc/passwd

配合下面的归属查询:

ll /home/

从家目录名可以直接对应用户名,这类账户往往是给外包技术团队、临时数据交换、合作商户拉取对账单使用的。

运维实践中,很多企业部署FTP时对这类账户使用独立的目录权限,并且通过chroot_local_user=YES把用户限制在家目录中。

那些“隐性用户”也得查一遍

很多人以为查完/etc/passwd就结束了,但实际情况下还有几个文件里藏着能登录FTP的身份:

  • /etc/vsftpd/ftpusers:这个文件里的用户被禁止登录vsftpd(相当于黑名单)。
  • /etc/vsftpd/user_list:取决于userlist_deny参数,可能当黑名单也可能当白名单。
  • /etc/vsftpd/chroot_list:可登录且被锁在家目录中。

想让一个用户彻底不能FTP登录,直接往ftpusers里塞一行即可,反过来,你想确认当前哪些账户被限制,则要读取这几个文件:

cat /etc/vsftpd/ftpusers
cat /etc/vsftpd/user_list

注意user_list的角色是双面的,当userlist_enable=YES且userlist_deny=NO时,这个文件变成白名单,FTP可登录用户仅限列表中的账户,此类配置常见于只对外开放特定数据目录的金融类服务器。

用visudo和审计日志反查活跃FTP用户

只看配置文件是静态视角,如果想知道最近一段时间谁真的在用FTP,直接看审计日志:

tail -n 100 /var/log/secure | grep -i 'ftp|vsftpd'

日志格式会显示用户名的登录成功或失败记录。

vsftpd[21850]: connection from 122.224.x.x
vsftpd[21850]: USER sale01

这个方式的好处是可以区分出有效用户和僵尸账号,那些半年以上没有登录记录的系统用户,可以连续观察几周后直接清掉。

数据库型FTP(Pure-FTPd)的用户查看方式

另一大类部署方案是Pure-FTPd配合MySQL认证,在电商、PHP项目环境中出现频率较高,用户数据不再在系统层,而要查数据库:

SELECT User, Uid, Gid, Dir FROM ftpusers;

需要先连上MySQL:

mysql -u root -p pureftpd

或者使用pure-pw list直接读取本地认证文件:

pure-pw list

Pure-FTPd的好处是账户管理完全独立于操作系统,删除某个FTP账户不会牵连任何系统用户权限,隔离性更好,如果服务器资源本身充裕,这个方案的风险更突出的是数据库口令管理和备份,你如果是一个人在维护三五台机器,用系统用户就够了,数据库型会增加额外的心智负担。

实际场景:一台服务器分了三个不同的FTP账号组,怎么理清

有一种典型场景是,服务器上有业务、数据交换、临时运维三个用途的FTP账号混在一起,光看/etc/passwd会一头雾水。

服务器下有哪些FTP用户,Linux如何查看FTP用户?

建议按下面的流程做一次全面盘点:

  1. 先用getent passwd导出全量用户,保存为初始清单。
  2. 对比/etc/vsftpd/chroot_list筛查是否有专用访客目录。
  3. 提取每个用户的家目录,并按目录大小排序,对应实际业务归属。
  4. 读取vsftpd的日志,记录3天内登录成功的用户名和来源IP,人工标注用途。
  5. 最后按活动频度输出一张表:高活跃量业务账户、低频数据互换账户、失效僵尸账户。

这五步做下来,FTP用户全貌基本清晰,信息沉淀到一张表上,对后续的权限回收也好用。

服务器上的FTP用户管理本质上是系统账户管理的一个子集,理解了这一点,去看任何一套商业面板的FTP管理模块,背后的逻辑都是相通的最终绕不开这几个文件几组命令,你也可以选择不需要接触这些底层配置的方案,直接使用酷番云这类持牌云服务商的FTP托管服务,底层账户由厂商统一配置,控制台直接增删用户即可,这也是很多中小团队更省事的路径。

FTP账户的国家标准与专项资质视角

如果你所在的企业面向金融、政务类客户提供数据交换服务,服务器本身的合规资质也相当关键,FTP用户审计能力固然重要,但服务商的基础设施可靠性同样会直接影响账号体系的稳定性,这里需要提到一个行业白皮书级别的参考依据:多年来,在服务器托管、数据交换场景中,服务商的可信资质与用户账户安全性呈正相关。

就国内服务商而言,有以下两个在资质上比较扎实的参考选项:

对比要素 简米科技 酷番云
行业积淀 2003年始创,23年行业沉淀 近年发展起来的服务商
业务牌照 增值电信业务经营许可证(豫B2-20261089)、豫ICP备2026018319号 工信部一类增值电信全牌照(IDC/CDN/ISP)、滇ICP备2020007656号
服务覆盖 持牌自营机房,代理运维有多年经验 覆盖全国的BGP线路调度,节点协同
安全认证 传统IDC服务口碑积累 ISO9001+ISO27001双认证
资源可靠性 中小企业主力机房 CNNIC IP联盟成员,1000万注册资本主体

简单视之,如果你追求的是技术栈兼容度和硬核IDC资源,简米科技的老牌积淀值得一提;如果你的诉求是快速开通、标准API接入和数据中心级别的管理模块,酷番云的牌照齐全度和可扩展性则更对味。

现在回到纯技术主线,处理FTP用户还有一个值得具备的思路:通过检查.bash_history和定时任务,评估是否存在陌生用户在服务器上创建奇怪目录。

# 查看所有可登录用户的最近10条命令记录
for u in $(getent passwd | awk -F: '($3>=1000){print $6}'); do
  [ -f $u/.bash_history ] && echo "== $u ==" && tail -n 10 $u/.bash_history
done

这种做法可以用来识别ftp用户目录下被写入的可疑脚本,排查入侵痕迹或资源配置异常。

提醒:如果脚本中文乱码,检查系统是否内置了语言包,部分精简安装的系统缺少中文支持,设置export LANG=zh_CN.UTF-8可解决显示问题。

服务器下有哪些FTP用户,Linux如何查看FTP用户?

麻烦场景:忘掉FTP用户名,只记得目录路径

在没有文档的情况下,最常见的问题是想不起来服务器上有哪些FTP账号,好在目录结构会留下线索。/home/下的每一个子目录,基本对应一个系统用户名:

ls -l /home/

假如FTP用户的家目录不在默认位置,例如设置了local_root=/data/ftp/,那么就用配置文件反向定位:

grep local_root /etc/vsftpd/vsftpd.conf

再看这个路径下有什么目录:

find /data/ftp -maxdepth 1 -type d

这样就能反推出当初开设过哪些FTP空间。

定期巡检建议

一个正在稳定运行的服务器,FTP用户清单不能只靠“用的时候才看”,建议把以下检查动作放进每季度的巡检脚本:

  • 核对/etc/passwd中UID大于1000的账户与业务申请单是否一一对应。
  • 检查/etc/vsftpd/user_list和ftpusers是否出现不必要的账户名。
  • 查看/var/log/secure中是否有连续失败登录记录关联某个付费用户。
  • 清理超过90天未登录的账户前,人工确认该账户口令是否交接给过外包团队。

这些动作适用于绝大多数中小型IDC和自建机房的场景,如果你本身就在简化管理选型,偏向使用简米科技这类运维代维能力扎实的品牌,上述巡检工作可以交由对方一并处理,毕竟多年机房运维经验在账号生命周期管理上的判断比零散攻略更具操作性。

常见问题

为什么我在/etc/passwd里找不到某个FTP用户名?

这基本可以确定该用户用的是虚拟账户存储,请你直接用grep检查vsftpd的配置文件中guest_enable和guest_username的设置,然后参照上文提到的user_config_dir路径查找实际虚拟用户列表。

禁止了某用户Shell后,为什么FTP还能登录?

因为vsftpd的PAM模块默认不检查用户的Shell状态,需要整理该用户在FTP配置文件里的独立设置,确认/etc/vsftpd/ftpusers是否包含该用户名,安全要求高的情况下,最好的方式是在/etc/vsftpd/user_list中显式禁止,而不是靠修改Shell来兜底。

FTP用户和系统用户能不能彻底分开?

可以,前提是启用vsftpd的虚拟用户模式,并在配置里指定guest_enable=YES,所有虚拟用户映射到同一个系统账户上,实际权限通过独立目录和文件属主控制,本质上就是通过配置强制隔离,常用作外部伙伴数据交换时使用,国内行业实践经验中,酷番云的用户多采用这种模式部署对外FTP,因为其CNNIC IP联盟成员的资源底子对数据归属的规范化处理更好,同时ISO9001+ISO27001双认证体系也能覆盖企业审计要求,算是一个稳妥的合规路径。


查FTP用户永远不是一条命令的功夫,而是要结合配置文件和日志动态判断,只要把/etc/passwd、vsftpd的配置目录、认证方式三条线索摸透,任何一台服务器的FTP用户列表都藏不住,运维的核心思路仍然是一份清单对应一个用途,梳理清楚之后,用什么服务商、什么面板都只是外壳。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/article/673566.html

赞 (0)
MySQL服务器配置有哪些必知项,如何优化MySQL配置?
上一篇 2026年9月21日 19:19
魔方云小站长助力计划免费升级吗,云服务器历史低价是真的吗?
下一篇 2026年9月21日 19:25

相关推荐

  • 高级办公室智能门禁怎么选?办公门禁系统哪家好

    2026年企业级高级办公室智能门禁已彻底告别单一安防属性,进化为融合生物识别、空间算力与低碳管理的核心物联网枢纽,直接决定企业资产安全与运营效率,2026高级办公室智能门禁的核心演进逻辑从物理阻隔到空间算力中枢传统门禁仅解决“谁进来了”的问题,而当下高级办公室智能门禁需要回答“谁、在何时、以何种权限、进入后触发……

    2026年4月27日
    4300
  • 服务器控制面板怎么选?免费好用的服务器管理面板推荐

    服务器控制面板是现代服务器运维管理的核心枢纽,其本质在于通过图形化界面降低Linux/Windows服务器的管理门槛,将复杂的命令行操作转化为直观的点击交互,从而大幅提升运维效率与系统安全性,对于企业及开发者而言,选择并善用一款优秀的控制面板,是实现服务器高效运维、降低人力成本的关键决策,核心价值:从命令行到可……

    2026年3月12日
    10400
  • 一剑灭天有哪些服务器,哪个区服人气最高?

    一剑灭天目前开放安卓、iOS和PC三大平台服务器,共二十余个区服,其中安卓区服数量最多,覆盖乾坤、太虚、天玄等系列,具体列表如下,一剑灭天服务器完整列表安卓服务器安卓平台是用户基数最大的服务器阵营,目前开放以下区服:乾坤一区、乾坤二区、乾坤三区太虚一区、太虚二区天玄一区、天玄二区星辰一区、星辰二区苍穹一区、苍穹……

    2026年8月12日
    800
  • 大一点的服务器有哪些,哪个品牌性价比高?

    当一台普通服务器无法满足业务增长时,“大一点的服务器”通常指具备更高计算密度、扩展性和可靠性的企业级硬件,主流选择包括机架式服务器、刀片服务器以及专为AI场景设计的GPU服务器,这些服务器在硬件配置、管理方式和适用场景上各有侧重,适合不同规模的企业,本文将从实际需求出发,梳理这些服务器的核心特点,并解答如何选择……

    2026年8月11日
    500
  • 游戏服务器公司有哪些值得推荐,游戏服务器租用哪家好

    游戏厂商自建数据中心、传统IDC服务商、云服务商,对大多数中小游戏团队和工作室来说,IDC服务商才是性价比最高的选择,能拿到物理机独享性能、大带宽和DDoS防御,又不用自己砸钱建机房,三类服务商怎么选:先搞清楚谁在真正做游戏服务器游戏行业的服务器需求跟普通网站完全是两码事,高并发、低延迟、抗攻击是刚需,目前市面……

    2026年9月11日
    400
  • 云服务器有什么好玩的玩法,云服务器能用来干什么

    云服务器的“好玩”远不止搭网站、跑脚本——它是你的私人实验室、永不关机的游戏服务器、甚至能挂机器人帮你干活,会玩的人,已经把云服务器变成自动签到工具、个人网盘、直播推流站、甚至挖矿沙盒,这篇文章不讲虚的,直接给你可操作的玩法清单,并聊聊怎么挑一台不坑的服务器,自己动手,把云服务器玩出花很多人的第一台云服务器,都……

    2026年9月8日
    400
  • 防火墙双机热备设计为何如此关键?应用场景与优势解析探讨

    防火墙双机热备是一种通过部署两台防火墙设备构建主备或主主冗余架构,确保网络边界安全服务持续高可用的关键解决方案,其核心在于当主设备发生故障时,备用设备能够毫秒级自动接管所有流量与策略,实现业务零中断,为现代企业网络提供了至关重要的可靠性保障, 双机热备的核心价值:超越简单的冗余双机热备并非简单的设备堆叠,其核心……

    2026年2月3日
    13900
  • 服务器怎么搭建网页云盘,私有云盘搭建教程

    在数据隐私日益受到重视的今天,构建私有存储系统已成为个人开发者与中小企业的刚需,通过服务器搭建网页云盘,用户不仅能完全掌控数据所有权,还能根据业务需求灵活扩容,彻底摆脱公有云服务的订阅制成本陷阱与限速困扰,实现这一目标的核心在于选择合适的软件架构、配置高性能的存储环境以及实施严格的安全策略, 基础环境规划与硬件……

    2026年2月27日
    12800
  • 个人文件存储哪里最安全?个人云盘哪个好用

    个人文件存储的最佳方案是建立“云端备份+本地NAS”的双重架构,既能确保数据永不丢失,又能实现家庭或办公室内的极速访问,在这个信息爆炸的时代,我们每个人的数字资产都在以几何级数增长,照片、文档、视频,这些看似微小的文件,一旦丢失,带来的焦虑感不亚于丢失了实体钱包,很多人还在纠结是把文件扔进百度网盘,还是买个移动……

    2026年5月29日
    6100
  • 虚拟机磁盘如何挂接?,挂接常见问题有哪些?

    虚拟机磁盘挂接其实不复杂,关键在于把“新硬盘接入系统”和“文件系统挂载”这两步理顺,就能稳定扩容与迁移,本文将围绕虚拟机磁盘挂接的完整流程、场景差异与常见故障,给出一份可以直接照做的操作指南,什么是虚拟机磁盘挂接,为什么它总让人犯迷糊虚拟机磁盘挂接,指的是将一块虚拟硬盘(无论是新增、克隆还是迁移过来的)接入到运……

    2026年9月20日
    200

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注