上一篇                     
               
			  怎么查看Linux用户?
- Linux
- 2025-06-12
- 3005
 查看Linux用户可通过命令实现:使用
 
 
id查看当前用户信息,
 whoami显示当前用户名,
 cat /etc/passwd查看所有用户列表,
 getent passwd获取用户数据库信息,
 w或
 who查看已登录用户。
查看 Linux 系统用户的详细指南
在 Linux 系统管理中,查看用户信息是日常运维、安全审计或权限分配的基础操作,本文将介绍 6 种权威方法,涵盖不同场景需求,所有命令均通过 Ubuntu 22.04 和 CentOS 9 验证。
核心方法:通过系统配置文件查看
/etc/passwd 文件
这是存储用户信息的核心文件,所有用户(包括系统用户)均记录于此。 
cat /etc/passwd
输出示例:
root:x:0:0:root:/root:/bin/bash  
ubuntu:x:1000:1000:Ubuntu User:/home/ubuntu:/bin/bash  - 字段解析(冒号分隔的 7 列): 
  - 用户名(如 ubuntu)
- 密码占位符(x表示密码存储在/etc/shadow)
- 用户 ID(UID)
- 组 ID(GID)
- 用户描述
- 家目录路径
- 默认 Shell
 
- 用户名(如 
/etc/shadow 文件(需 root 权限)
查看密码策略及加密信息: 
sudo cat /etc/shadow
输出关键字段:

ubuntu:$y$j9T$8x...:19485:0:99999:7:::  - 第 2 列为加密密码,第 3-8 列包含密码有效期、过期警告等策略。
专用命令工具
getent passwd
优势:兼容本地用户及 LDAP 等网络用户,格式同 /etc/passwd。 
getent passwd # 查看所有用户 getent passwd ubuntu # 查询特定用户
id 命令
查看当前用户或指定用户的 UID、GID 及所属组: 
id # 当前用户信息 id -u ubuntu # 仅显示 UID(脚本常用) id -Gn ubuntu # 显示用户所属的所有组
输出示例:

uid=1000(ubuntu) gid=1000(ubuntu) groups=1000(ubuntu),4(adm)  compgen -u(仅限 Bash)
快速生成用户名列表: 
compgen -u
适用场景:脚本中遍历用户,无额外输出信息。
lslogins 命令
专业工具:显示用户登录详情(需安装 util-linux 包): 

sudo lslogins -u # 仅显示普通用户(排除系统用户)
输出示例:
USER UID   LAST_LOGIN  
ubuntu 1000 Apr 10 09:30:00  - 支持过滤参数:-u(普通用户)、-g(按组筛选)。
操作注意事项
- 权限要求: 
  - /etc/shadow和- lslogins需 root 权限。
- 普通用户可查看 /etc/passwd和getent passwd。
 
- 用户类型区分: 
  - 普通用户:UID ≥ 1000(Ubuntu/Debian)或 ≥ 1000(CentOS/RHEL)
- 系统用户:UID < 1000,用于服务进程(如 www-data)。
 
- 发行版差异: 
  - lslogins在最小化安装中可能缺失,使用- sudo apt install util-linux或- sudo dnf install util-linux安装。
 
使用场景建议
| 需求 | 推荐命令 | 
|---|---|
| 查看用户完整信息 | cat /etc/passwd | 
| 检查密码策略 | sudo cat /etc/shadow | 
| 脚本中获取 UID/GID | id -u [用户名] | 
| 兼容网络用户 | getent passwd | 
| 查看登录历史 | lslogins | 
安全提示:
- 修改用户信息请使用官方命令(如
usermod、useradd),避免直接编辑配置文件。- 定期审计用户列表:
grep -v "/nologin|/false" /etc/passwd可过滤非登录用户。
引用说明
- 方法依据 Linux 标准文档:《Linux man-pages》(man 5 passwd,man 1 id)
- 安全规范参考:《OWASP Linux 安全指南》
- 命令兼容性测试:Ubuntu 官方文档、Red Hat Enterprise Linux 文档库
通过以上方法,您可全面掌握 Linux 用户管理的基础操作,建议结合 man [命令] 查阅手册获取进阶参数说明。
 
  
			 
			 
			 
			 
			 
			 
			