Linux如何查看所有用户列表?

在Linux系统中,管理员经常需要查看系统中的所有用户信息,以进行权限管理、安全审计或故障排查,Linux用户信息主要存储在/etc/passwd文件中,该文件记录了每个用户的基本属性,如用户名、用户ID(UID)、主目录、默认Shell等,通过结合其他命令和工具,可以获取更详细的用户信息,如用户组、登录状态、活动记录等,以下是几种常用的查看所有用户的命令及其详细说明。

linux查看所有用户命令
(图片来源网络,侵删)

查看/etc/passwd文件

/etc/passwd是Linux系统存储用户信息的核心文件,每行代表一个用户,字段以冒号分隔,格式为:用户名:密码占位符:UID:GID:用户描述:主目录:默认Shell,使用catless命令可以查看文件内容:

cat /etc/passwd

less /etc/passwd

输出示例:

root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin

x表示密码存储在/etc/shadow文件中,UID为0的是超级用户,UID小于1000的通常是系统用户。

linux查看所有用户命令
(图片来源网络,侵删)

使用getent命令

getent命令查询系统配置数据库(如/etc/passwd),支持多种命名服务(如LDAP、NIS),查看所有用户:

getent passwd

该命令的优势是可以显示通过网络服务(如LDAP)管理的用户,而不仅仅是本地文件中的用户。

查看/etc/shadow文件(需root权限)

/etc/shadow文件存储用户的加密密码和密码策略信息,字段包括:用户名:加密密码:最后修改日期:最小密码有效期:最大密码有效期:警告期:非活跃期:账户过期日期,仅root可访问:

sudo cat /etc/shadow
root:$6$abc123...:18632:0:99999:7:::
daemon:*:18632:0:99999:7:::

或表示用户被锁定或无密码。

linux查看所有用户命令
(图片来源网络,侵删)

查看活跃用户

结合lastwho命令可以查看当前登录的用户:

who

输出示例:

user1  pts/0        2023-10-01 10:00 (192.168.1.100)
user2  pts/1        2023-10-01 11:30 (192.168.1.101)

last命令则显示最近的登录记录:

last

使用awkcut提取特定字段

若仅需要用户名列表,可通过awkcut处理/etc/passwd

awk -F: '{print $1}' /etc/passwd

cut -d: -f1 /etc/passwd

用户信息对比表

命令功能权限要求输出示例
cat /etc/passwd查看所有用户基本信息普通用户root:x:0:0:root:/root:/bin/bash
getent passwd查询系统数据库中的用户普通用户user1:x:1000:1000::/home/user1:/bin/bash
sudo cat /etc/shadow查看密码和策略信息rootuser1:$6$abc123…:18632:0:99999:7:::
who查看当前登录用户普通用户user1 pts/0 2023-10-01 10:00 (192.168.1.100)

相关问答FAQs

Q1: 如何区分系统用户和普通用户?
A1: 在/etc/passwd中,系统用户的UID通常小于1000(如UID=0为root),普通用户UID大于或等于1000,可通过以下命令筛选:

awk -F: '$3 >= 1000 {print $1}' /etc/passwd  # 普通用户
awk -F: '$3 < 1000 {print $1}' /etc/passwd   # 系统用户

Q2: 如何查看某个用户所属的所有组?
A2: 使用groups命令或查看/etc/group文件:

groups username  # 显示用户所属组
grep username /etc/group  # 显示组详细信息

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/418577.html<

(0)
运维的头像运维
上一篇2025-10-23 05:48
下一篇 2025-10-23 05:51

相关推荐

  • cmd命令如何创建用户?

    在Windows操作系统中,通过cmd命令创建用户是一项系统管理操作,通常需要管理员权限,这一功能可以帮助管理员快速批量创建用户账户,或在没有图形界面的服务器环境中完成用户管理任务,以下是关于cmd命令创建用户的详细操作步骤、注意事项及相关知识解析,准备工作在开始操作前,需确保当前账户具有管理员权限,右键点击……

    2025-11-18
    0
  • DOS命令如何添加用户?

    在Windows操作系统中,通过DOS命令(即命令提示符或CMD)添加用户是一项系统管理操作,通常需要管理员权限,以下是关于使用DOS命令添加用户的详细步骤、注意事项及相关技巧,帮助用户高效完成操作,准备工作在开始操作前,需确保当前用户具备管理员权限,右键点击“命令提示符”,选择“以管理员身份运行”,否则命令执……

    2025-11-17
    0
  • 命令行如何新建用户?

    在命令行环境中新建用户是系统管理中的常见操作,不同操作系统(如Linux、Windows)的命令和步骤略有差异,但核心目标都是通过命令行工具创建具有特定权限和配置的用户账户,以下将分别以Linux(以Ubuntu/Debian为例)和Windows系统为例,详细说明命令行新建用户的具体方法、参数说明及注意事项……

    2025-11-16
    0
  • mac命令行如何创建用户?

    在 macOS 系统中,通过命令行创建用户是系统管理员常用的操作,尤其适用于需要批量管理用户或远程管理服务器的情况,macOS 基于 Unix 内核,其用户管理命令与 Linux 系统高度相似,主要涉及 dscl(Directory Service Command Line)工具和 sysadminctl 命令……

    2025-11-08
    0
  • Linux命令行如何正确添加用户?

    在Linux系统中,通过命令行添加用户是系统管理的基础操作之一,通常涉及useradd或adduser命令的使用,这两个命令在功能上有所差异:useradd是低级命令,提供更多参数选项,适合脚本化操作;而adduser是交互式的高级命令,会引导用户逐步输入信息,更适合手动操作,以下将详细讲解两种命令的使用方法……

    2025-11-07
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注