如何列出 Linux 中的用户?(Debian 列出用户)
Linux 发行版在科技公司、研究人员和大型应用开发社区中日益流行。在这样的环境中,管理团队项目中的用户账户对于高效协作至关重要。在 Linux 系统中,管理员可以通过各种命令顺畅地与系统交互并管理用户。
在众多 Linux 发行版中,Ubuntu 是使用最广泛的发行版之一,为系统管理员提供了一系列实用功能。系统管理的一个关键环节是列出所有用户并有效管理他们的任务。这有助于授予权限(例如文件或文件夹的访问权限)以及分配权限,以确保系统数据的安全。
在本文中,我们将演示如何使用命令行界面列出 Linux 中的用户。文中讨论的所有命令均在 Ubuntu 22.04 LTS Jammy JellyFish 发行版上进行演示。让我们一起了解这些命令,以便在 Ubuntu 系统上高效地处理用户管理工作。
如何列出 Linux 中的用户?(列出 Linux 用户)
在 Linux 发行版中列出用户主要有两种方法。
- 通过显示 /etc/passwd 文件内容列出 Linux 用户。
- 使用 getent 命令列出 Linux 用户。
通过显示 /etc/passwd 文件内容列出 Linux 用户(Linux 列出用户命令)
第一种方法是查看 /etc/passwd 文件的内容,其中存储了所有本地用户的详细信息。用户可以使用 cat 或 less 等命令查看 /etc/passwd 文件的内容:
$ cat /etc/passwd
或
$ less /etc/passwd
/etc/passwd 文件中的每一行代表一个本地用户的信息。这些行被冒号分隔成多个字段。每个用户显示的重要信息包括:
- 用户的登录名;
- 加密密码(通常以“x”表示,因为实际密码存储在 /etc/shadow 文件中);
- 用户标识号(UID);
- 用户的组标识号(GID);
- 用户全名(通常称为 GECOS);
- 用户的主目录;
- 默认登录 shell,通常设置为 /bin/bash。
通过查看“/etc/passwd”文件的内容,管理员可以了解系统中注册的用户及其相关信息。这种方法提供了一种列出 Linux 用户的简单途径。
使用 awk 和 cut 命令列出 Linux 用户(Linux 列出用户命令)
当您只需要显示 Ubuntu 等 Linux 系统中 /etc/passwd 文件里的用户名时,可以使用 awk 或 cut 命令。它们是功能强大的文本处理工具,可以从文件中提取特定字段。
使用 awk 命令,您可以轻松地从 /etc/passwd 文件中提取代表用户名的第一个字段。该命令的语法如下:
$ awk -F: '{ print $1}' /etc/passwd
同样,cut 命令也可以实现相同的目的。它允许您指定分隔符和要提取的字段编号。这里我们使用“:”作为字段分隔符,并用“1”表示第一个字段(即用户名):
$ cut -d: -f1 /etc/passwd
这两个命令都只会显示 Linux 系统中所有已注册用户的用户名,为从 /etc/passwd 文件中提取这一特定信息提供了简洁的方式。
使用 getent 命令列出 Linux 用户
Linux 中的 getent 命令用于通过指定的搜索键从管理数据库中获取条目。在 Ubuntu 中,getent 会从 /etc/nsswitch.conf 文件中配置的数据库收集并显示条目。用户可以通过查询 passwd 数据库,使用该命令列出用户。
要打印 Ubuntu 用户列表,只需执行以下命令:
$ getent passwd
如果只想显示用户名,可以在 getent 命令后结合使用“awk”或“cut”。以下是使用 awk 的方法:
$ getent passwd | awk -F: '{ print $1}'
同样,也可以使用 cut 命令获得相同的输出:
$ getent passwd | cut -d: -f1
借助这两个结合 getent 的命令,您可以列出 Linux 用户,或获取用户名等特定信息。
使用 getent 和 grep 命令检查 Linux 用户
您可以使用 getent 命令确认 Ubuntu Linux 系统中是否存在某个特定用户。将 getent 与 grep 结合使用,可以快速查找用户是否存在。语法如下:
$ getent passwd | grep user-name
例如,假设我们想确认系统中是否存在名为“samreena”的用户,可以执行以下命令:
$ getent passwd | grep username
如果 Ubuntu 系统中存在指定的用户“samreena”,该命令会显示与该用户相关的登录信息。如果不存在该名称的用户,则命令不会有任何输出。
或者,您也可以不使用 grep 命令,直接在 getent passwd 后指定用户名来检查用户是否存在:
$ getent passwd user_name
列出 Linux 中所有已连接的用户
要列出 Linux 主机上当前已连接的所有用户,对 passwd 文件使用 cat 命令是不够的。您应该执行“who”或“users”命令。
$ who
$ users
执行“who”或“users”命令后,会显示系统中当前已登录用户的列表。这些命令提供有关用户连接到 Linux 主机的实时信息。
列出 Linux 中的所有用户账户
要确定 Linux 系统中用户账户的总数,可以使用“getent passwd”命令,再通过“wc -l”统计行数。
$ getent passwd | wc -l
该命令从系统的密码数据库中获取用户账户信息,然后统计返回的总行数,每一行代表一个用户账户。
以上我们介绍了如何使用不同的 Linux 命令列出 Linux 用户。这些命令可以帮助您管理 Linux 系统上的各种用户账户。
总结
Linux 提供了一系列命令,是系统管理员管理用户账户和确保系统安全不可或缺的工具。在本教程中,我们学习了如何列出 Linux 中的用户。
借助“getent passwd”等命令,管理员可以轻松获取系统中用户的完整信息,从而监控访问、执行安全策略并排查可能出现的问题。
了解这些命令及其各种参数,对于管理员高效完成用户管理任务、维护 Linux 系统或 Linux VPS 服务器 的完整性与安全性至关重要。有了这些工具,管理员可以从容应对系统管理中与用户相关的各个方面,打造稳健且安全的计算环境。