Ubuntu 中 getent 命令使用方法与技巧

在 Ubuntu 服务器运维与日常管理中,查看系统用户信息是最基础、最常用的操作之一。无论是排查异常登录、管理用户权限,还是审计登录记录,掌握正确的用户查询命令都能显著提升工作效率与系统安全性。

本文基于 Ubuntu 26.04 LTS 版本,整理一套完整、可直接使用的用户信息查看方法,内容简洁实用,适合 Linux 新手与运维人员快速上手。此文方法同样适用于Ubuntu22.04Ubuntu24.04

ubuntu-getent使用技巧

在 Ubuntu 服务器运维中,查看用户、用户组等系统信息是高频操作。相比于直接读取 /etc/passwd/etc/group 等文件,getent 命令更符合系统规范,支持本地账户与域账户(LDAP/SSSD),结果更准确、兼容性更强。

下面只围绕 getent,整理一套实用、可直接复制的使用方法与技巧。

一、getent 基本语法

getent [数据库] [关键词]

常用数据库:

  • passwd – 用户账户信息
  • group – 用户组信息
  • shadow – 密码信息(需 root)
  • hosts – 主机与 IP 信息
  • services – 系统服务端口

二、getent 查看用户信息(最常用)

1. 查看系统所有用户

getent passwd

输出完整用户信息,遵循系统 NSS 配置,比直接 cat /etc/passwd 更可靠。

2. 仅提取所有用户名

getent passwd | cut -d: -f1

3. 查看单个用户是否存在

getent passwd 用户名

有输出 = 用户存在;无输出 = 用户不存在。

4. 筛选普通真实用户(UID ≥1000)

getent passwd | awk -F: '$3 >= 1000 && $3 < 65534 {print $1}'

自动过滤系统账号与 nobody 账户,只显示人工创建的用户。

5. 筛选可正常登录的用户

getent passwd | awk -F: '$3 >= 1000 && $3 < 65534 && $7 !~ /(nologin|false)$/ {print $1}'

排除被禁用登录的账号,用于安全审计非常实用。

三、getent 查看用户组与权限

1. 查看所有用户组

getent group

2. 查看指定组信息

getent group 组名

3. 列出所有拥有 sudo 权限的用户

会把所有有sudo权限的用户都列出来

getent group sudo

四、getent 其他常用技巧

1. 查看主机名与 IP 解析

getent hosts localhost
getent hosts www.baidu.com

2. 查看系统服务端口

getent services ssh
getent services http

五、为什么优先使用 getent?

  • 遵循系统 NSS 配置,支持 LDAP/SSSD 等域环境
  • 统一查询入口,不用记多个配置文件路径
  • 结果更干净、便于管道过滤与脚本处理
  • 符合 Ubuntu 官方推荐习惯

本文首发于 58Linux技术博客,专注Ubuntu桌面使用、Linux服务器运维与网站搭建实战。

发表评论

粤ICP备10052831号 | © 2026 58Linux 技术笔记. All Rights Reserved. | 联系我们 | 关于本站
本站内容开放共享,仅供学习交流 | 专注 Ubuntu & Linux 实战教程
Built with GeneratePress