Linux系统如何查看系统用户?

常见问题

Linux系统如何查看系统用户?

2025-08-13 08:01


Linux系统查看

                                            

Linux系统查看系统用户的5种实用方法详解

作为Linux系统管理员或开发者,掌握查看系统用户的方法是必备技能。本文将详细介绍5种最常用的查看Linux用户的方法,包括命令详解、使用场景和实际案例。

1. 使用/etc/passwd文件查看所有用户

Linux系统中所有用户信息都存储在/etc/passwd文件中,这是最基础的查看方法。

cat /etc/passwd

每行记录代表一个用户,格式为:

username:password:UID:GID:comment:home_directory:shell

例如:

root:x:0:0:root:/root:/bin/bash

专业提示: 现代Linux系统通常将密码存放在/etc/shadow文件中,/etc/passwd中的x表示密码已加密存储。

2. 使用getent命令查询用户信息

getent命令可以查询系统数据库,包括用户信息。

getent passwd

查看特定用户:

getent passwd username

优势: 支持LDAP等网络用户数据库查询,在企业环境中特别有用。

3. 使用id命令查看用户ID信息

id命令可以显示当前用户或指定用户的UID、GID和所属组。

id
id username

输出示例:

uid=1000(user) gid=1000(user) groups=1000(user),4(adm),24(cdrom),27(sudo)

4. 使用who/w命令查看已登录用户

要查看当前登录系统的用户,可以使用以下命令:

who
w

区别:

  • who:显示登录用户名、终端、登录时间和IP地址
  • w:额外显示用户正在执行的命令和系统负载

安全提示: 定期检查已登录用户是系统安全的重要环节。

5. 使用last命令查看用户登录历史

last命令可以查看用户的登录历史记录。

last
last username

输出包括:

  • 登录用户名
  • 登录终端
  • 登录IP地址
  • 登录和退出时间

高级技巧:用户信息过滤与处理

结合Linux文本处理工具可以更高效地分析用户信息:

1. 使用awk提取特定字段:

getent passwd | awk -F: '{print $1, $3, $6}'

2. 统计用户数量:

getent passwd | wc -l

3. 查找UID大于1000的普通用户:

awk -F: '$3 >= 1000 {print $1}' /etc/passwd

总结

本文介绍了Linux系统中查看用户的5种主要方法,每种方法都有其适用场景:

  1. /etc/passwd - 查看所有用户基础信息
  2. getent passwd - 支持网络用户数据库查询
  3. id - 查看用户ID和组关系
  4. who/w - 查看当前登录用户
  5. last - 查看用户登录历史

掌握这些命令可以帮助管理员更好地管理系统用户,排查安全问题,以及进行用户行为分析。

常见问题解答

Q: 如何查看系统中哪些用户有sudo权限?

A: 可以查看/etc/sudoers文件或/etc/group中的sudo组:

grep -Po '^sudo:\K.*$' /etc/group

Q: 如何区分系统用户和普通用户?

A: 通常UID 0-999是系统用户,1000及以上是普通用户,但具体分界可能因发行版而异。


label :
  • Linux用户管理
  • 查看系统用户
  • Linux命令
  • 莱卡云