Ubuntu系统用户查看与审计实战:从passwd到可交付清单

Linux VPS账户管理核心:adduser与passwd底层原理与安全实践 Linux用户账户管理是系统安全的基石,其本质围绕/etc/passwd、/etc/shadow和/etc/group三文件展开。adduser并非useradd别名,而是具备完整生命周期管理能力的交互式工具;passwd则通过PAM模块实现密码强度校验、盐值哈希生成与审计日志闭环,确保密码修改符合等保2.0等合规要求。技术价值在于提供不依赖网络、GUI或第三方服务的本地化身份控制能力,支撑SSH登录、sudo权限、服务隔离等关键场景。本文深入解析adduser创建流程、passwd密码存储机制及shado 阅读详情

1. 项目概述:为什么在 Ubuntu 上“看用户”不是简单 ls 一下就完事?

在 Ubuntu 系统里敲 cat /etc/passwd ,屏幕上哗啦啦滚出几十上百行带冒号的字符串——这确实是“看到系统用户”的最原始动作。但如果你真以为这就完成了任务,那大概率会在三分钟内被自己搞懵: root:x:0:0:root:/root:/bin/bash:/usr/sbin/nologin 这一行里, /bin/bash 和 /usr/sbin/nologin 到底哪个才是登录 shell? 0:0 是 UID 和 GID,可 daemon 用户 UID 是 1, sys 是 3, sync 是 4……这些数字谁先谁后、有没有空缺、能不能改?更关键的是, nobody 和 systemd-network 这些名字听着像人,但它们根本不能登录,连密码都没有,算不算“系统用户”?

这就是标题 “How To View System Users in Linux on Ubuntu” 背后真正要解决的问题: 它不是教你怎么翻文件,而是帮你建立一套可判断、可筛选、可验证的用户认知框架 。你面对的不是一串静态文本,而是一个运行中的权限与身份管理系统。Ubuntu 的用户体系分三层:底层存储( /etc/passwd )、密码凭证( /etc/shadow ,加密哈希)、组关系( /etc/group )。只看 passwd,就像只看户口本不查身份证和社保记录——你知道有这个人,但不知道他能不能进大门、能开哪几扇门、跟谁是一伙的。

我刚接手一个客户服务器时,运维给的交接文档写着“已禁用所有非必要账户”,结果我用 getent passwd | awk -F: '$7 !~ /(nologin|false)$/ {print $1,$3,$7}' 一扫,发现 backup 用户 UID=34,shell 是 /bin/bash ,且没被加到 sudo 组——但它在 /etc/shadow 里密码字段是 * (锁定),而 cron 用户 shell 是 /usr/sbin/nologin ,却在 shadow 里密码字段是 ! (显式禁用)。这两个状态在安全审计里意义完全不同: * 表示账户被 passwd -l 锁定,仍可被服务调用; ! 表示 usermod -L 彻底抹除密码哈希,连 PAM 认证都绕不过去。你看,同一行 passwd 数据,不结合 shadow 和实际策略,根本没法下结论。

所以这篇内容的核心价值,是给你一套“解剖刀”:从命令怎么选、参数为什么这么设、输出字段怎么读、异常状态怎么判,到最终形成一份可交付的用户清单报告。它适合三类人:刚装完 Ubuntu 想搞懂系统结构的新手(别再死记硬背 id 命令了);需要定期做安全巡检的中小团队运维(省掉写 Python 脚本的时间);还有正在备考 LPIC-1 或 RHCSA 的考生(考试里必考 getent 和 awk 组合技)。接下来的所有操作,都围绕一个原则: 让每一条命令的输出,都能直接回答一个具体问题——比如“哪些用户能交互式登录?”、“哪些账户是纯服务账户?”、“UID 在 1000 以下的用户里,谁的主目录不在 /home 下?” 。

2. 核心思路拆解:为什么不用 ls /home ?为什么 who 不是答案?

很多人第一反应是 ls /home ——毕竟用户主目录都在那儿。但这是个典型误区。 /home 目录只存放 交互式用户的主目录 ,而 Ubuntu 系统里大量服务账户(如 www-data , mysql , dnsmasq )压根没有 /home 下的目录,它们的主目录通常是 /var/www , /var/lib/mysql , /var/lib/misc 这类路径。 ls /home 只能看到“住家户”,漏掉了“单位集体宿舍住户”。更危险的是,有人手动创建了 /home/testuser 但没在 /etc/passwd 里添加记录——这个目录对系统而言就是个普通文件夹, ls 出来反而会误导你认为存在一个有效用户。

再看 who 或 w 命令。它们显示的是 当前已登录的会话 ,本质是读取 /var/run/utmp 文件。这只能告诉你“此刻谁在线”,完全无法反映系统里“有哪些账户被创建过”。比如 root 用户可能常年不登录,但它是最高权限账户; sshd 用户是 OpenSSH 服务专用账户,永远不登录,但删掉它 SSH 就瘫痪。用 who 查用户,就像查酒店入住登记表来统计常住人口——数据实时但片面。

真正的解法必须直击源头: /etc/passwd 是 Linux 用户数据库的 唯一权威源 (除 LDAP/NIS 外)。它按固定格式存储每个用户的核心元数据,每行 7 个冒号分隔字段: 用户名:密码占位符:UID:GID:描述:主目录:登录shell 。注意第二字段是 x 或 * ,真实密码哈希在 /etc/shadow ,这是为安全做的分离设计。Ubuntu 默认启用 shadow 密码,所以 passwd 文件里看不到明文或哈希。

那么为什么不直接 cat /etc/passwd ?因为原始输出信息密度过高,且混杂了三类用户:

  • 超级用户 (UID=0,只有 root )
  • 系统用户 (UID 1–999,Ubuntu 定义为 system users ,用于运行服务)
  • 普通用户 (UID ≥1000,Ubuntu 默认从 1000 开始分配,对应桌面用户)

getent passwd 是更优解,因为它能统一查询本地文件、NIS、LDAP 等多种后端,且输出格式与 /etc/passwd 完全一致,兼容所有解析脚本。而 compgen -u 只列出用户名,丢掉了 UID、shell 等关键字段,属于“知道名字但不知底细”。

工具链选择逻辑如下:

  1. 基础筛查用 getent passwd :获取完整、标准、可解析的原始数据流;
  2. 字段提取用 awk :比 cut 更灵活,能写条件判断(如 $7 ~ /bash$/ );
  3. 过滤排序用 sort + grep : sort -t: -k3,3n 按第三字段(UID)数值排序, grep -v 'nologin' 排除无登录能力账户;
  4. 人工验证用 id 和 getent shadow :对关键账户做二次确认,避免配置漂移。

这个组合不是炫技,而是生产环境验证过的最小可靠集。我管理过 200+ 台 Ubuntu 服务器,所有用户审计脚本都基于此

Ubuntu binary镜像:可验证、可复现的Linux交付标准 Linux发行版的二进制镜像,是操作系统交付的核心形态,其本质是经过统一构建、密码学签名与哈希校验的确定性字节流。它基于标准化构建链(如debootstrap+gcc+qemu)、固化工具链版本,并依托SquashFS、ISO 9660等格式实现跨平台可启动性。相比源码分发,binary形态保障了部署一致性、安全可追溯性与基础设施即代码(IaC)的工程底线。广泛应用于服务器裸金属安装、云平台镜像(cloudimg)、容器基础镜像(ubuntu:24.04)及Ubuntu Core原子更新等场景。理解bina 阅读详情

相关推荐

CentOS 8 创建 sudo 用户:wheel 组、setuid 权限与安全审计

sudo 是 Linux 系统中实现特权提升的核心机制,其本质是通过 setuid 位赋予普通用户临时 root 权限的能力;在 CentOS 8 中,该机制深度绑定 wheel 组策略与 /usr/bin/sudo 文件的 setuid 属性(-rwsr-xr-x),任何对组成员关系、文件权限或所有者(必须为 root)的破坏都会导致 'effective uid is not 0' 等底层报错;这种设计强化了最小权限原则和可审计性,广泛应用于生产环境权限管理、Jetson Nano 等嵌入式设备运维及自

weixin_30487201的博客 386

Ubuntu 16.04下vsftpd用户目录隔离与TLS安全配置实战

FTP服务作为基础文件传输协议,其安全性核心在于用户权限隔离与通信加密。原理上,通过chroot机制实现用户家目录的内核级路径锁定,结合PAM认证与严格文件权限控制,可杜绝越权访问;技术价值体现在满足PCI-DSS等合规要求,规避CVE-2016-2183(SWEET32)等已知漏洞风险;典型应用场景包括跨部门文件共享、运维临时上传区及老旧生产环境中的最小权限交付。本文聚焦vsftpd在Ubuntu 16.04平台的落地实践,深度解析user's directory隔离机制与SSL/TLS安全加固方案,覆盖

weixin_33709590的博客 335

Jetson Orin 系统安全加固:Ubuntu 20.04 用户身份与访问权限深度配置指南

本文详细介绍了Jetson Orin在Ubuntu 20.04系统下的用户身份与访问权限深度配置指南,涵盖root密码修改、普通用户账户改造、sudo权限精细化控制等关键安全加固措施。通过实战案例和代码示例,帮助开发者有效提升边缘计算设备的安全性,防止未授权访问和恶意攻击。

weixin_33749131的博客 419

Docker Bench for Security 实战指南:基于 CIS 基准的主机安全审计

Docker 安全并非默认开启的状态,而是依赖于可验证的配置基线与持续审计机制。其核心原理在于将 CIS Docker Benchmark 等权威合规标准,转化为对 daemon.json 配置、auditd 行为日志、Docker socket 权限等具体系统事实的自动化校验。这种‘只读不写’的审计模式,既规避了运行时干扰,又为安全事件提供不可抵赖的行为证据链。技术价值体现在风险前置识别——如 userland-proxy 开启导致端口劫持、socket 权限过宽引发宿主机提权等典型高危问题。广泛应用于金

long_yu2的专栏 583

CentOS 7 用户管理实战:从创建、授权到安全清理

Linux 用户管理是操作系统安全的基石,涉及 UID/GID 标识、/etc/shadow 密码哈希机制、sudo 权限提升原理及 setuid 位控制等核心概念。其技术价值在于构建最小权限模型、保障审计可追溯性、防止横向提权与残留风险。典型应用场景包括 CentOS 7 服务器初始化、VMware 虚拟机部署、Docker 服务账户隔离及内网离线运维。本文聚焦真实生产环境中的关键操作——如 adduser 与 useradd 的行为差异、pam_pwquality 强密码策略落地、userdel -r

weixin_34413802的博客 360

Ubuntu下SVN服务器搭建全流程:svnserve、authz权限与systemd托管

版本控制是软件工程和团队协作的基础设施之一,SVN作为一种集中式版本控制系统,在企业内网、设计资料管理和老项目维护中仍被广泛使用。其核心原理是服务端统一存储版本历史,客户端通过提交、更新与服务器交互,并通过目录级授权实现细粒度权限控制。与Git的分布式模型相比,SVN在锁文件、大二进制文件支持和审计追踪方面具有独特优势,尤其适合固定目录结构、团队规模不大的场景。搭建SVN服务器涉及服务端安装、仓库初始化、用户认证、权限分配与开机自启等多个环节,其中svnserve的-r路径参数、authz文件的权限继承规则

weixin_33154775的博客 327

Ubuntu 20.04 搭建 Postfix 邮件服务器实战指南

邮件传输代理(MTA)是 Linux 系统自动化通信的核心基础设施,其原理在于基于 SMTP 协议实现可靠、可配置的邮件路由与中继。Postfix 作为成熟稳定的开源 MTA,具备高安全性、低资源占用和原生 systemd 集成等技术价值,广泛应用于监控告警、CI/CD 通知、日志推送等轻量级发信场景。在 Ubuntu 20.04 这一长期支持版本上部署 Postfix,既能利用 APT 包管理保障兼容性与安全更新,又可通过纯命令行方式实现‘配置即代码’的工程化运维。本文聚焦于 Satellite 模式配置

wjxbj的博客 1万+

Ubuntu零基础入门到精通【3.8讲】:安装后的系统检查清单!

🏆 本文收录于 《滚雪球学 Ubuntu》 专栏。 本专栏面向有一定计算机基础,但尚未系统学习 Linux / Ubuntu 的读者,采用“滚雪球式学习法”:先装好、再会用、再理解、再优化、再实战,带你从第一次进入 Ubuntu 桌面 / 终端开始,逐步掌握 Ubuntu 的日常使用、命令操作、软件安装、系统配置、开发环境搭建与服务器部署能力。

**My Coding Family** 1288

安全方案实战:从设计原则到ubuntu server与RAID5配置

在网络安全合规与项目评审中,一份结构完整的保障方案远比堆砌设备型号重要。它从安全性、可靠性等八大设计原则出发,推导出主机、网络、数据库等各层技术选型。例如,采用ubuntu server作为操作系统,并通过RAID5实现磁盘冗余,还需明确CPU峰值、磁盘冗余量及备份策略。技术方案的真正价值在于将原则转化为可验证的参数,并落到防火墙策略、日志审计、恢复演练等运维闭环中。这种从理论到工程实践的编写思路,广泛适用于B2C平台等业务系统的等保留档、投标应答与日常安全管理,同时能避开常见的文档硬伤,提升方案的专业性和

weixin_34151004的博客 266

别再手动调波形了!用STM32G474的HRTIM+DAC生成精密锯齿波,附完整CubeMX配置

本文详细介绍了如何利用STM32G474的高分辨率定时器(HRTIM)和数模转换器(DAC)协同工作,实现高精度锯齿波生成。通过CubeMX配置指南、关键寄存器计算和实践技巧,帮助开发者快速掌握全硬件实现的波形生成方案,显著提升嵌入式系统的波形控制精度和响应速度。

weixin_28716769的博客 246

保姆级教程:用MATLAB搞定运动模糊图片修复(附完整代码与避坑指南)

本文提供了一份详细的MATLAB运动模糊图片修复教程,涵盖盲复原、图像复原等核心技术。通过傅里叶变换和Radon变换分析模糊参数,对比逆滤波、维纳滤波和Lucy-Richardson算法效果,并附完整代码与避坑指南,帮助用户实现专业级图像处理。

weixin_26765363的博客 228

银河麒麟V10安装docker

最近在做的一个信创项目使用的操作系统是银河麒麟高级服务器V10,在安装docker时,会遇到下面的错误。 nothing provides fuse-overlayfs >= 0.7 needed by docker-ce-rootless-extras-20.10.0-3.el7.x86_64 经过分析,以下依赖包是centos系统中的包,所以需要给kylinos创建一个合适的centos源。经过实验,Kylin Linux Advanced Server V1

m0_38004228的博客 4907

【华为OD机考真题】- 构成的正方形数量(B卷-100分)(Java版)

🔔本文收录于「最新最全华为OD机试真题(Java版)」专栏,手把手带你零基础教学华为OD机试。本题集提供最优题解思路,解题步骤,代码解析,复杂度分析及最优题解源码等,支持多语言题解,助你轻松拿捏OD机考,一举上岸!安利大家关注&&收藏&&订阅!题库正在疯狂收录中,up!up!up!! 🚫提醒:拒绝一切代考/替考,违法必究!专栏所写题库均精心搜集于互联网,经过精心筛选和整理,结合数位十多年大厂实战经验资深大佬经验所撰,欢迎订阅。    💗订阅福利:一次订阅,可永久免费阅读,提供在线答疑解惑,后续题库更新

**My Coding Family** 1349

一文读懂AI协同办公领域发展和趋势

协同办公,又称OA,是指企业内部或外部各类人员之间利用信息技术来进行协作工作的一种形式。这种协作工作既可以由直接员工进行,也可以来自外部的咨询机构、合作伙伴或联营企业。协同办公的优势在于可以对资源进行有效管理和配置,各部门之间可以建立良好的协作关系,跨部门更好地实现资源共享。

女王の专属领地 2356

YOLOv11+BiFPN双向特征金字塔:全方位解析多尺度检测性能优化指南

飞书链接:https://ecn6838atsup.feishu.cn/wiki/EhRtwBe1CiqlSEkHGUwc5AP9nQe?购买即可解锁800+YOLO优化文章,并且还有海量深度学习复现项目,价格仅需两杯奶茶的钱,每日更新。函数中添加BiFPN的解析逻辑(找到。链接可用,不要多复制空格了。密码:946m22&8。

FJN110的博客 306

AgentScope实战训练营:构建计划可视化管理和HITL的AI智能计划助手

本文基于AgentScope Java SDK和Spring Boot WebFlux,从零构建一个支持SSE流式对话、计划可视化管理和HITL的AI智能计划助手Web应用PlanNotebook。涵盖项目架构设计、ReActAgent初始化、自定义工具注册、Hook机制实现、SSE事件协议定义、前端流式渲染等核心技术点,提供完整可运行的代码示例和详细的REST API参考。

program哲学 396

YOLO11改进|注意力机制篇|引入先验卷积注意力机制CPCA

YOLO11中添加先验卷积注意力机制CAPA

A1983Z的博客 2374

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

上一篇: A股量化选股实战框架:5个抗扰动因子与本地化回测系统
下一篇: Ubuntu 18.04 Postfix 安全部署指南:从默认风险到生产就绪
java_mail_test
博客等级 码龄18年 1粉丝 299原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值