如何在 Ubuntu 上查看 Linux 系统用户

介绍

系统管理的一个基本部分是配置和管理用户和组,该任务的一部分包括监控所有系统实体的功能日志。

在本教程中,您将审查用户管理和身份验证日志背后的想法。

我们将在Ubuntu 22.04 服务器上探索这些概念,但你可以跟随任何现代的 Linux 发行版。你可以通过遵循我们的指南来为本教程设置Ubuntu 22.04 服务器。

第一部分将涵盖如何查看系统用户并找出谁已登录到系统。

如何查看可用的用户

Linux 系统上的每个用户,无论是作为一个真实的人类帐户创建的,还是与特定服务或系统功能相关的,都存储在一个名为 `/etc/passwd 的文件中。

文件 /etc/passwd 包含有关系统上的用户的信息. 每个行描述一个不同的用户。

使用命令来查看,这样你就可以滚动整个文件:

1less /etc/passwd
1[secondary_label Output]
2root:x:0:0:root:/root:/bin/bash
3daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
4bin:x:2:2:bin:/bin:/usr/sbin/nologin
5sys:x:3:3:sys:/dev:/usr/sbin/nologin
6sync:x:4:65534:sync:/bin:/bin/sync
7games:x:5:60:games:/usr/games:/usr/sbin/nologin
8. . .

每个行分为字段. 这些字段由结(:)字符划分。

您目前所需的唯一字段是第一个字段. 每个字段都是独立的用户名. 当您完成使用时,请按q来停止。

您可以通过使用切断命令来分割结肠界限(-d :)来获取此列表,而无需穿过整个/etc/passwd字段:

1cut -d : -f 1 /etc/passwd
1[secondary_label Output]
2root
3daemon
4bin
5sys
6sync
7games
8. . .

您可能将root识别为管理用户,最后您可能会看到您已登录的用户。

在此之间,你可能会看到一些其他用户,他们的使用似乎至少有些清晰,例如,www-data被配置为Web服务器流程的所有者。

这样做是为了分离功能特权,这样一来,如果一个帐户被破坏或滥用,效果将被孤立。

您可以在 本教程中阅读更多关于 /etc/passwd 中的字段。

如何查看可用的组

发现系统组的相应文件为 /etc/group

您可以再次使用来查看此文件:

1less /etc/group
1[secondary_label Output]
2root:x:0:
3daemon:x:1:
4bin:x:2:
5sys:x:3:
6adm:x:4:
7tty:x:5:
8disk:x:6:
9. . .

您可能会注意到,许多组名称反映了您在系统上发现的用户,这是称为 user private groupsUPG 的配置方案的一部分。

用户私人组为每个用户创建一个私人组,然后将该组设置为主要组。

这允许在共享目录中设置一个名为setgid的旗帜,使目录内部的文件与目录本身相同的组所有者。

再一次,您可以通过使用 cut命令将从/etc/group文件中提取的信息:

1cut -d : -f 1 /etc/group
1[secondary_label Output]
2root
3daemon
4bin
5sys
6adm
7tty
8disk
9. . .

输出将是系统上的每个组的列表,每行一个。

如何查找哪些用户已登录

很多时候,它将更有用来找出哪些用户在你的系统上是活跃的。

w命令是一个简单的方法来列出所有目前登录的用户,他们的时间登录,以及他们目前正在运行的命令:

1w
1[secondary_label Output]
219:37:15 up 5:48, 2 users, load average: 0.33, 0.10, 0.07
3USER TTY FROM LOGIN@   IDLE JCPU PCPU WHAT
4root pts/0 rrcs-72-43-115-1 19:15 38.00s 0.33s 0.33s -bash
5demoer pts/1 rrcs-72-43-115-1 19:37 0.00s 0.47s 0.00s w

第一行包含系统运行时间信息,下列行描述了谁已登录。

提供类似信息的替代方案是who:

1who
1[secondary_label Output]
2root pts/0 2013-09-05 19:15 (rrcs-72-43-115-186.nyc.biz.rr.com)
3demoer pts/1 2013-09-05 19:37 (rrcs-72-43-115-186.nyc.biz.rr.com)

结论

Linux 上的用户身份验证是系统管理的一个相对灵活的领域,有许多方法可以通过广泛的工具实现同样的目标。

您现在应该知道如何找出您的服务器存储其用户和组信息的位置,您也可以看到谁在任何时间登录。

在本教程系列的下一部分(https://www.digitalocean.com/community/articles/how-to-restrict-log-in-capabilities-of-users-on-ubuntu)中,您将审查如何限制登录访问。

Published At
Categories with 技术
Tagged with
comments powered by Disqus