上一篇
查看Linux系统用户的常用方法:使用
cat /etc/passwd命令查看所有用户列表;
getent passwd命令获取用户数据库信息;
id命令查看当前用户信息;
groups命令查询用户所属组。
查看Linux系统用户的方法详解
在Linux系统中,有效管理用户账户是系统管理员的核心任务之一,本文将全面介绍7种查看用户信息的方法,帮助您掌握用户管理的关键技能。
核心命令行工具
查看所有用户列表
/etc/passwd 文件是存储用户信息的核心配置文件:
cat /etc/passwd
每行输出包含7个字段(以冒号分隔):
用户名:密码占位符(x):用户ID(UID):组ID(GID):用户描述:主目录:默认Shell
getent 命令(推荐)
更强大的用户信息查询工具:
getent passwd
优势:
- 同时查询本地用户和网络用户(如LDAP)
- 支持其他数据库(group, hosts等)
- 兼容性更好
专用用户查询命令
compgen命令(Bash内置):
compgen -u
lslogins命令(现代系统):
sudo lslogins # 需要root权限
输出包含:

UID USER PWD-LOCK PWD-DENY LAST-LOGIN GECOS
0 root 0 0 Jun30/2025 root
1000 user1 0 0 Jul15/2025 Regular User
用户信息深度解析
查看特定用户信息
id命令:
id username # 查看用户UID、GID及所属组
示例输出:
uid=1000(user1) gid=1000(user1) groups=1000(user1),4(adm),24(cdrom)
finger命令(需安装):
sudo apt install finger # Debian/Ubuntu finger username
查看登录用户
who命令:
who # 显示当前登录用户
输出示例:
user1 pts/0 2025-07-20 09:15 (192.168.1.5)
w命令(更详细):

w
输出包含:
- 登录用户
- 登录时间
- 空闲时间
- 当前进程
查看用户登录历史
last命令:
last # 显示所有登录记录 last username # 查看特定用户登录历史
用户配置文件详解
/etc/passwd文件结构解析:
| 字段位置 | 名称 | 说明 | 示例 |
|---|---|---|---|
| 1 | 用户名 | 用户登录名 | ubuntu |
| 2 | 密码 | x表示密码在/etc/shadow |
x |
| 3 | UID | 用户ID | 1000 |
| 4 | GID | 主组ID | 1000 |
| 5 | GECOS | 用户描述信息 | Ubuntu User,,, |
| 6 | 主目录 | 用户家目录路径 | /home/ubuntu |
| 7 | Shell | 默认命令行解释器 | /bin/bash |
重要说明:
- UID 0:root用户(超级管理员)
- UID 1-999:系统服务用户
- UID 1000+:普通用户
图形化界面方法
对于桌面版Linux用户:
- 打开系统设置
- 进入用户账户或用户和组
- 查看用户列表和详细信息
- 需要管理员权限进行修改
实用技巧与注意事项
用户筛选技巧
# 查看普通用户(UID≥1000)
getent passwd | awk -F: '$3 >= 1000 && $3 < 60000 {print $1}'
# 查看系统用户(UID<1000)
getent passwd | awk -F: '$3 < 1000 {print $1}'
安全注意事项
-
权限要求:

- 查看
/etc/passwd需读取权限 - 某些命令(如
lslogins)需要root权限
- 查看
-
敏感信息:
- 实际密码存储在
/etc/shadow(仅root可访问) - 不要直接修改
/etc/passwd文件(使用usermod等工具)
- 实际密码存储在
-
特殊用户识别:
/sbin/nologin:禁止登录的系统账户/bin/false:完全禁止Shell访问
应用场景指南
| 需求场景 | 推荐命令 | 优势 |
|---|---|---|
| 快速查看所有用户 | getent passwd |
完整、准确、兼容性好 |
| 检查当前登录用户 | w或who |
实时状态、来源IP |
| 查看用户组成员 | id username |
组关系清晰 |
| 审计登录历史 | last |
时间/IP记录完整 |
| 脚本中获取用户 | compgen -u |
无额外输出 |
掌握Linux用户查看技巧是系统管理的基础,对于日常管理:
- 首选
getent passwd:获取完整用户列表 - 使用
id命令:查看特定用户详情 - 结合
last和w:监控用户活动
最佳实践建议:在脚本中使用
getent替代直接读取/etc/passwd,因其兼容性更好且支持网络用户源。
引用说明:
- Linux Programmer’s Manual: passwd(5)
- GNU Coreutils 文档:id 命令
- Linux 基础管理指南:Linux Foundation 系统管理文档
- POSIX 标准: getent 规范
