介绍
系统管理的一个基本部分是配置和管理用户和组。 此任务的一部分涉及监视所有系统实体的登录功能。
在本指南中,我们将介绍用户管理和身份验证日志背后的基本思想。
我们将在 Ubuntu 12.04 VPS 上探索这些概念,但您可以在任何最新的 Linux 发行版上跟进。
第一部分将介绍如何查看系统用户并找出谁登录到系统。
如何查看 VPS 上的可用用户
Linux 系统上的每个用户,无论是作为真人帐户创建还是与特定服务或系统功能相关联,都存储在名为“/etc/passwd”的文件中。
“/etc/passwd”文件包含有关系统上用户的信息。 每行描述一个不同的用户。
通过输入查看:
less /etc/passwd
root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/bin/sh bin:x:2:2:bin:/bin:/bin/sh sys:x:3:3:sys:/dev:/bin/sh sync:x:4:65534:sync:/bin:/bin/sync games:x:5:60:games:/usr/games:/bin/sh . . .
每一行被分成多个字段。 这些字段由冒号 (:) 字符分隔。
我们目前唯一真正感兴趣的领域是第一个领域。 每个都是一个独立的用户名。
我们可以通过键入以下内容获得此列表,而无需遍历整个“/etc/passwd”:
cut -d : -f 1 /etc/passwd
root daemon bin sys sync games . . .
您可能将“root”识别为管理用户。 最后,您可能会看到您登录的用户。
在这两者之间,您可能会看到一些其他用户,他们的用法至少看起来有些清晰。 例如,“www-data”被配置为 Web 服务器进程的所有者。
这样做是为了分离功能特权。 这样,如果帐户被盗用或滥用,影响将被隔离。
您可以点击这里了解更多关于“/etc/passwd”中的字段。
如何查看 VPS 上的可用组
用于发现系统组的对应文件是“/etc/group”。
我们可以通过键入以下内容来查看整个文件:
less /etc/group
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”文件中的信息:
cut -d : -f 1 /etc/group
root daemon bin sys adm tty disk . . .
输出将是系统上每个组的列表,每行一个。
如何查找哪些用户已登录
很多时候,找出系统上活跃的用户会更有用。
"w" 命令是列出所有当前登录的用户、他们的登录时间以及他们当前使用的命令的简单方法:
w
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
第一行包含系统正常运行时间信息。 以下几行描述了谁登录。
提供类似信息的替代方法是“who”:
who
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 上的用户身份验证是系统管理中一个相对灵活的领域。 有许多方法可以使用非常简单的工具来实现相同的目标。
您现在应该知道如何找出您的服务器存储其用户和组信息的位置。 您还可以查看谁在任何给定时间登录。
在下一部分中,我们将讨论如何限制对登录的访问。