如何显示 Linux 中的用户

本页内容:

  • 使用命令列出 Linux 系统中的用户
  • 如何列出已登录的用户
  • 如何列出特定用户的信息
  • ManageEngine EventLog Analyzer 如何跟踪 Linux 中的用户活动

在 Linux 中,定期审查用户账户信息对于系统安全、合规性和资源管理至关重要。它帮助管理员监控访问控制,识别特权账户,并更有效地管理系统资源。此过程还有助于检测未经授权或不活跃的账户,降低潜在的安全风险,并确保系统符合组织政策。

作为第一步,管理员通常采用列出或查看用户的方式来实现用户账户审查。这有助于他们:

  • 清理用户:随着时间推移,可能会积累大量用户账户,导致混乱。列出用户有助于管理员识别不必要的账户。
  • 确保安全:不活跃的用户构成重大安全风险。通过维护准确的 Linux 用户列表,管理员可以确保只有授权用户才能访问敏感系统。
  • 促进访问控制:适当的用户管理始于查看用户情况。这使管理员能够为用户提供适当的访问权限,防止未经授权的访问。

本文将说明如何使用不同命令显示或列出 Linux 系统的用户。

如何使用命令列出 Linux 系统中的用户

Linux 系统将用户定义为能够交互、操作和管理操作系统的实体。它们定义了两种类型的用户:普通用户和系统用户。系统用户由系统在安装时创建,具有特定用途,不用于普通用户交互,主要用于运行系统服务和应用程序。普通用户由系统管理员创建,根据分配的权限访问系统及其资源。普通用户进一步分为 标准用户和管理员用户

每个 Linux 系统都将每个用户的信息存储在 /etc/passwd 文件中。该文件中的每一行表示一个用户账户,格式如下:

  • 用户名:用户的登录名。
  • 密码占位符:通常为 x,表示实际密码安全地存储在其他位置,如 /etc/shadow。
  • 用户 ID:分配给每个用户的唯一标识符。
  • 组 ID:标识用户的主组。
  • GECOS:此字段通常包含用户的全名或其他描述性信息。
  • 主目录:用户文件的默认存储目录。
  • 登录 shell:用户登录时启动的 shell。

以下方法利用基本的 Linux 命令从上述文件中列出用户。

1. 使用 cat 命令

cat(concatenate 的缩写)命令是一个多功能的命令行工具,用于操作文件并显示其内容。查看 Linux 系统所有用户的方式之一是使用 cat 命令列出 /etc/passwd 文件中的所有用户(该文件包含用户详细信息)。

cat /etc/passwd

运行此命令会打印 /etc/passwd 文件的全部内容。输出的每一行代表一个用户账户。此方法简单明了,提供了所有用户的完整列表,包括 Linux 用于管理各种服务的系统账户。

2. 使用 cut 命令

如果您只想查看用户名,而不需要其他详细信息,可以使用 cut 命令提取输出。

cut -d: -f1 /etc/passwd

该命令使用冒号 (:) 作为分隔符 (-d:),并仅打印第一字段 (-f1),即用户名。结果是系统上所有用户名的简洁列表。

3. 使用 getent 命令

更灵活的方法是使用 getent 命令从系统数据库中检索条目,包括用户账户。此方法在用户账户通过网络管理(如 LDAP)时尤其有用。

getent passwd

getent passwd 命令提供类似于 /etc/passwd 文件的用户列表,但它还包括系统配置的其他数据库中的用户,如 LDAP 或 NIS(如果启用)。

要列出特定用户,可以运行:

getent passwd username

username 替换为所需的用户名,以检索该特定用户的详细信息。这在验证本地和网络管理数据库中的单个用户信息时特别有用。

如何列出已登录的用户

除了列出所有用户外,通常还需要查看当前登录并活跃的用户。Linux 提供了多种命令来实现此目的。

1. 使用 who 命令

who 命令是查看当前登录系统用户的简单有效方法。

who

该命令显示当前所有登录用户的列表,以及他们使用的终端、登录时间和(如适用)连接的远程主机等详细信息。

2. 使用 w 命令

若需获取有关已登录用户的更详细信息,包括他们当前的活动,w 命令是首选工具。

w

w 命令显示所有已登录用户及其活动。它提供额外的详细信息,如每个用户正在运行的进程、空闲时间和资源使用统计。

3. 使用 last 命令

要查看用户登录历史,last 命令特别有用。

last

last 命令读取 /var/log/wtmp 文件,显示登录和注销的历史记录,包括用户名、登录和注销时间以及会话持续时间。

如何列出特定用户的信息

有时,您可能需要收集特定用户的详细信息,例如其用户ID、组成员身份或所属组。

1. 使用 id 命令

id 命令提供用户身份的简明摘要,包括用户ID、组ID和组成员身份。

id username

将 username 替换为您感兴趣的用户名。该命令返回用户的 UID、主 GID 以及用户所属的所有组列表。

2. 使用 finger 命令

finger 命令提供更详细的用户信息,尽管某些系统可能需要先安装该命令。

finger username

运行此命令会显示用户的详细信息,包括全名、主目录、shell、登录时间等。它是快速全面了解用户账户的有用工具。

3. 使用 groups 命令查看用户组

要查看特定用户所属的组,可以使用 groups 命令。

groups username

该命令输出与用户相关的所有组,有助于了解其在系统中的权限和访问情况。

ManageEngine EventLog Analyzer 如何跟踪 Linux 中的用户活动

ManageEngine EventLog Analyzer 是一款 日志管理 解决方案,旨在集中和分析来自各种来源的日志,包括 Linux 系统。它提供全面的解决方案,用于跟踪用户活动、确保安全性和维护 合规性。通过集中日志数据并实时监控用户活动(如登录和注销事件、失败尝试及资源使用),它增强了 Linux 环境中的用户管理。此监控帮助管理员检测异常,如未经授权的访问或异常资源消耗,从而提升整体安全性。通过提供这些洞察,EventLog Analyzer 使得对潜在威胁的主动响应成为可能,并确保用户活动得到良好跟踪。

除了安全监控外,EventLog Analyzer 还帮助执行关键安全策略——包括密码复杂性和访问控制——以保护 Linux 系统。它还生成全面的审计报告,简化审计流程。直观的界面和先进功能使其成为维护安全、良好监控的 Linux 环境的高效解决方案。

如何显示 Linux 中的用户

下一步:

想深入了解 Linux 系统上的用户活动吗?试用 EventLog Analyzer 免费 30 天,监控用户行为、检测异常并确保合规。