热搜词
发表于 2023-10-14 08:50:52 | 显示全部楼层 |阅读模式
Linux管理员可以轻松地与系统交互并使用Linux系统中有用的命令来管理所有用户。
Ubuntu 是使用最广泛的 Linux 发行版,它为系统管理员提供了更多有用的功能来列出所有用户并管理他们的日常任务。因此,管理员可以轻松地向用户授予对文件或文件夹的权限,并为每个用户分配有限的权限,以保护系统数据的安全。
我们将在本文中探讨如何使用命令行环境列出 Ubuntu Linux 系统中的所有用户。本文所有命令均在 Ubuntu 20.04 LTS 焦点窝上实现。让我们深入了解细节!
列出 Ubuntu 20.04 LTS 发行版中的所有用户
有以下两种方法可以列出Ubuntu系统中的所有用户:
  • 通过显示 /etc/passwd 文件内容列出所有用户

  • 使用 getent 命令列出所有用户

方法一:通过显示/etc/passwd文件内容列出所有用户
所有本地用户的详细信息都存储在“/etc/passwd”文件中。该文件的每一行包含一个本地用户的登录信息。使用以下两个命令cat和less,用户可以查看“/etc/passwd”文件的内容:
要使用“cat”命令显示 /etc/passwd 内容,请使用以下语法:
$ cat /etc/passwd

同样,可以使用‘less’命令查看‘/etc/passwd’文件内容。
$ less /etc/passwd

在 /etc/passwd 文件中,每行由冒号分隔的字段组成。每个用户的重要信息如下:
  • 用户名代表登录名。
  • 该字段表示加密的密码(x 表示存储在“/etc/shadow”文件中的密码)。
  • UID代表用户识别号
  • GID用来表示用户的组ID号
  • 用户全名 (GECOS)

  • 用户的主目录或主目录。
  • 它代表默认设置为 /bin/bash 的“登录 shell”。

使用 awk 和 cut 命令仅显示用户名有时,您只需要打印第一个字段或用户名。在这种情况下,两个有用的命令“awk”和“cut”可以帮助您显示第一个字段,这意味着终端上的用户名。
在 Ubuntu Linux 系统中,“awk”是一个功能强大的文本操作实用程序,可以轻松地从 /etc/passwd 文件中获取唯一的第一个字段。用于显示第一个字段的“awk”命令的语法如下:
$ awk -F: '{ print $1}' /etc/passwd

您还可以使用“cut”命令来达到相同的目的,如下所示:
$ cut -d: -f1 /etc/passwd

上述两个命令只会在终端窗口上显示所有用户名。
方法 2:使用 getent 命令列出所有 Ubuntu 用户
使用 Linux 的 getent 命令可帮助您使用指定的搜索键从管理数据库收集条目。
在 Ubuntu 系统中,getent 命令收集并显示“/etc/nsswitch.conf f”文件中配置的数据库中的条目。用户可以使用passwd数据库查询列出所有用户。因此,要打印 Ubuntu 用户列表,请按以下方式使用“getent”命令:
$ getent passed

您还可以使用“awk”和“cut”参数以及 getent 命令来仅显示第一个字段,如下所示:
$ getent passwd | awk -F: ‘{ print $1}’

或者,要显示相同的输出,您可以使用 cut 命令,如下所示:
$ getent passwd | cut -d: -f1


使用 getent 命令搜索现有的 Linux 用户使用 getent 命令,您还可以查找您的 Ubuntu Linux 系统上是否存在用户。要查看 Linux 用户是否存在,请使用 getent 命令和 grep,如下所示:
$ getent passwd | grep user-name

例如,我们想要搜索我们系统上是否存在的用户名“samreena”。上面的内容就会变成下面的形式:
$ getent passwd | grep Samreena

如果你的Ubuntu系统上存在指定的用户,则会显示该用户的登录信息。否则,如果此时没有用户使用该名称,则不会显示任何输出。
您还可以不使用 grep 命令来检查用户是否存在,如下所示:
$ getent passwd user_name
$ getent passwd Samreena


显示 Linux 用户帐户总数如果你想搜索你的 Ubuntu 系统上有多少个可用帐户,你可以使用 'getent passwd' 后跟 'wc' 命令,如下所示:
$ getent passwd | wc –l

如何区分普通用户和系统用户?
系统用户通常创建普通用户。系统用户在安装新的 Ubuntu 或其他 Linux 操作系统时创建。系统用户是root用户。您还可以创建系统用户以使用特定应用程序。而普通用户是由具有 sudo 权限的用户或 root 用户创建的。因此,每个普通用户和系统用户都有一个登录帐户、主目录和用户 ID (UID) 编号,这些编号会使用“/etc/login.defs”文件在最小 (UID_MIN) 和最大 (UID_MAX) 范围之间自动分配。
检查最小值 (UID_MIN) 和最大值 (UID_MAX) 限制使用以下命令,您可以检查普通用户在 UID_MIN 和 UID_MAX 之间的值范围:
$ grep -E '^UID_MIN|^UID_MAX' /etc/login.defs

上面的输出显示普通用户的 UID 范围为 1000 到 60000。
列出 Ubuntu 中的普通用户UID_MIN 和 UID_MAX 帮助我们列出系统中的普通用户。因此,UID 范围允许您查询 Linux 系统上的普通用户列表,如下所示:
$ getent passwd {1000..60000}

结论
您在本文中学习了如何使用命令行应用程序列出所有 Ubuntu 或 Linux 用户。我们研究了如何搜索特定用户以及普通用户与系统用户之间的区别。此外,我们还讨论了如何使用 UID 范围列出正常情况。上述命令也适用于其他 Linux 发行版,例如 CentOS、Debian 和 LinuxMint 来列出用户。
全部评论0
回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|小黑屋|管理员之家 ( 苏ICP备2023053177号-2 )

GMT+8, 2024-12-23 05:46 , Processed in 0.198853 second(s), 22 queries .

Powered by Discuz! X3.5

Cpoyright © 2001-2024 Discuz! Team