服务器下有哪些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的虚拟用户功能,这个模式下共享一个系统映射账户(通常是ftpuservuser),真正的虚拟用户名记录在自定义数据库中:

# 查看虚拟用户数据库文件路径(以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=YESuserlist_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_listftpusers是否出现不必要的账户名。
  • 查看/var/log/secure中是否有连续失败登录记录关联某个付费用户。
  • 清理超过90天未登录的账户前,人工确认该账户口令是否交接给过外包团队。

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

常见问题

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

这基本可以确定该用户用的是虚拟账户存储,请你直接用grep检查vsftpd的配置文件中guest_enableguest_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年零信任架构下验证APT防御深度、降低试错成本并构建实战化安全运营闭环的最优解,为何2026年企业急需高级威胁检测免费试用勒索演进与APT攻击的降维打击根据Gartner 2026年第一季度发布的《全球威胁态势前瞻报告》,超过82%的致命勒索软件已全面采用无文件攻击……

    2026年4月27日
    5900
  • cf现在都有哪些国家有服务器

    当前,穿越火线(CF)的服务器已覆盖全球主要游戏市场,包括中国、韩国、日本、美国、加拿大、巴西、俄罗斯、英国、德国、法国、新加坡、澳大利亚等国家和地区,各区域节点由当地运营商或专业IDC服务商支持,分布格局因代理策略和玩家规模持续调整,CF全球服务器节点分布亚洲地区:核心战场与低延迟区域亚洲是CF玩家最密集的大……

    2026年8月24日
    1500
  • 个人注册域名和公司注册域名区别在哪?域名注册需要什么材料

    个人注册域名适合博客、测试或低成本试错,公司注册域名则具备资产属性、品牌保护力及更高的信任背书,是企业官网和电商业务的唯一标准选择,域名不仅是网址的入口,更是数字世界的门牌号,很多人纠结于“个人”与“公司”的身份差异,其实这背后涉及法律主体、资产归属、功能权限以及后续运营成本的深层逻辑,选择错误,不仅影响品牌形……

    2026年5月28日
    4000
  • Tableau和Python怎么用?,有哪些技巧

    Tableau与Python的集成让数据分析师能直接在仪表板中运行Python脚本,实现复杂统计建模和机器学习,无需在工具间频繁切换,这一能力已成为企业级BI平台的标配选项,Tableau Python怎么用?两种主流集成方式详解如果你正在寻找tableau python怎么用的实操答案,目前最稳妥的路径是官方……

    2026年7月20日
    700
  • 高级威胁溯源平台双十一活动有什么优惠?高级威胁溯源系统双11折扣多少钱

    2026年双十一期间,高级威胁溯源平台通过算力扩容与AI智能研判,是企业应对海量网络攻击、实现秒级威胁闭环与降本增效的唯一确定性方案,双十一安全防线:为何高级威胁溯源平台成为刚需流量洪峰下的隐蔽攻击面2026年双十一大促不仅是消费狂欢,更是网络攻防的“修罗场”,根据国家计算机网络应急技术处理协调中心(CNCER……

    2026年4月27日
    5400
  • 域名费用申请流程复杂吗?,需要哪些材料?

    域名费用申请流程并不复杂,大部分情况下10-20分钟就能完成全部操作,核心材料仅需身份证明和联系方式,企业用户额外准备营业执照即可, 整个流程从选域名到解析生效,通常不超过24小时(据工信部规定需完成实名核验),下面把流程拆开揉碎讲清楚,域名费用申请流程复杂吗:一步步拆给你看很多人被“申请”二字吓住,以为要填一……

    2026年9月5日
    200
  • 如何有效设置访问控制策略,有哪些注意事项

    访问控制策略是信息安全的起点,也是终点,它不是一个简单的开关设置,而是一套从身份识别到权限授予的持续治理体系,最终目的是让正确的人,在正确的环境下,用正确的方式访问正确的资源,访问控制策略是什么:核心模型决定了你的安全基线理解访问控制策略,首先要认识它的几种经典模型,这些模型定义了权限的管理逻辑,直接影响后续的……

    2026年7月30日
    800
  • 规则引擎和存储过程哪个更好?数据库性能优化对比

    在2026年的企业级应用架构中,规则引擎与存储过程并非简单的二选一,而是通过“业务逻辑外置化”与“数据计算内聚化”的混合模式,实现高性能与高可维护性的最佳平衡,过去十年,数据库被视为单纯的数据仓库,而业务逻辑全部堆砌在应用层代码中,这种架构在业务量小时尚可应付,但随着数据并发量的指数级增长,应用服务器与数据库之……

    2026年7月7日
    14210
  • 服务器监控功能如何设置?最佳配置方法详解

    服务器监控是现代IT基础设施稳定、高效运行的基石,它通过实时采集、分析和告警关键性能指标,为运维团队提供系统运行状态的“全景视图”,是预防故障、优化性能和保障业务连续性的核心手段,基础指标监控:洞察系统运行脉搏CPU利用率: 持续跟踪处理器核心的使用情况,识别计算密集型任务或潜在瓶颈,关注用户态、内核态、I/O……

    2026年2月8日
    16400
  • 服务器盘柜厂家有哪些靠谱的?,怎么选到质量好的?

    国内服务器盘柜厂家主要分为综合ICT设备商(如华为、浪潮、新华三、中兴)和专业机柜制造商(如威图、图腾、科华数据、英维克)两大类;若涉及上架托管或整柜租赁,简米科技、酷番云这类持牌IDC服务商的盘柜方案同样值得纳入比选, 下面从设备选型、品牌梯队、机柜参数和托管场景四个维度拆解这个话题,帮你理清思路,服务器盘柜……

    2026年8月27日
    1300

发表回复

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