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

介绍

系统管理的一个基本部分是配置和管理用户和群组。这项任务的一部分涉及监控所有系统实体的登录能力。

在本教程中,您将回顾用户管理和身份验证日志记录的相关概念。

我们将在Ubuntu 22.04服务器上探索这些概念,但您可以在任何现代Linux发行版上进行跟随。您可以按照我们的Ubuntu 22.04服务器初始设置指南来设置这个教程所需的Ubuntu 22.04服务器。

第一部分将讲解如何查看系统用户并找出谁登录了系统。

查看可用用户的方法

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

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

使用less命令来查看一下,这样你可以通过整个文件进行滚动查看。

  1. less /etc/passwd

 

Output

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 sys:x:3:3:sys:/dev:/usr/sbin/nologin sync:x:4:65534:sync:/bin:/bin/sync games:x:5:60:games:/usr/games:/usr/sbin/nologin . . .

每一行都被拆分成字段。这些字段由冒号(:)字符分隔。

当前你只需要填写第一个字段。每个字段都是独立的用户名。当你使用完毕后,按q键退出。

你可以使用剪切命令在冒号分隔符(-d 🙂 上拆分,而无需查看整个“/etc/passwd”来获取这个列表。

  1. cut -d : -f 1 /etc/passwd

 

Output

root daemon bin sys sync games . . .

你可能认识root,它是管理员用户。到最后,你可能看到你当前登录的用户。

在其中,你可能会看到一些其他用户,他们的使用方式至少在某种程度上是很清楚的。例如,www-data 被配置为 web 服务器进程的所有者。

这样做是为了分离功能权限。这样,如果账户被窃取或被滥用,效果将被隔离。

你可以在这个教程中阅读更多关于 /etc/passwd 中的字段的信息。

如何查看可用的群组

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

你可以再次使用更少的次数来查看这个文件。

  1. less /etc/group

 

Output

root:x:0: daemon:x:1: bin:x:2: sys:x:3: adm:x:4: tty:x:5: disk:x:6: . . .

你可能会注意到,许多群组的名称与你在系统上发现的用户相对应。这是一个叫做用户私有群组(UPG)的配置方案的一部分。

用户创建私有组为每个用户创建一个私有组,并将该组设置为主要组。然后将文件创建掩码(umask)从022更改为002。

通过设置一个名为 setgid 的标志位,可以为共享目录提供更多的灵活性,这样目录内的文件将具有与目录本身相同的组所有者。

你可以再次使用cut命令来从/etc/group文件中精简信息。

  1. cut -d : -f 1 /etc/group

 

Output

root daemon bin sys adm tty disk . . .

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

如何查找已登录的用户

很多时候,找出在你的系统中活跃的用户会更加有用。

使用w命令是一种直观的方法来列出所有当前登录的用户,他们的登录时间以及他们当前正在运行的命令。

  1. w

 

Output

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

首行包含系统的运行时间信息。接下来的几行描述了当前登录用户。

提供类似信息的另一个选择是谁:

  1. who

 

Output

root pts/0 2013-09-05 19:15 (rrcs-72-43-115-186.nyc.biz.rr.com) demoer pts/1 2013-09-05 19:37 (rrcs-72-43-115-186.nyc.biz.rr.com)

结论

在Linux上的用户认证是系统管理中相对灵活的领域。有许多使用广泛的工具可以实现相同的目标。

现在你应该知道如何找出你的服务器存储用户和群组信息的位置。你还可以随时查看谁登录了。

在本教程系列的下一部分中,您将回顾如何限制登录访问。

广告
将在 10 秒后关闭
bannerAds