用户是像Ubuntu、Debian、Mint、Kali、CentOS等Linux操作系统中最重要的部分之一。通过创建用户帐户,不同的用户和用户可以使用自己的权限、文件和配置登录和使用Ubuntu系统。本教程可用于列出VM、Guest、VPS或VMware Linux系统中的用户。或者,可以通过SSH连接远程Linux系统来使用以下命令。这个SSH连接可以使用PuTTY或Linux系统的原生SSH客户机这样的工具来完成。
用户数据库文件/etc/passwd
Linux用户和shell类型、用户id等相关信息存储在passwd文件中,passwd文件位于 /etc/密码 . 此文件可由所有用户读取,但只能由管理用户和根用户更改。passwd文件的内容可以用cat命令打印,如下所示。可以使用cat、less、more等不同命令将此用户列表打印到终端中。
$ cat /etc/passwd
![图片[1]-如何列出Linux中的用户(Ubuntu、Mint、Debian、CentOS)?-yiteyi-C++库](https://www.yiteyi.com/wp-content/uploads/2020/11/linuxtect_image-75.png)
- 用户名 在登录或SSH连接期间将验证的用户的正式名称。
- 加密的密码 因为它是敏感信息并存储在 /etc/阴影 文件。
- 用户ID(UID) 是用户的数字和唯一编号。
- 用户组ID(GID) 用户拥有组编号和唯一编号。
- 全名 是用户的名称和姓氏。
- 主目录 是存储私人文件和文件夹的用户主目录的路径。
- 登录Shell 是为控制台和终端访问提供的用户默认shell。
相关文章: Linux passwd命令教程
作为一个例子,请看下面一行,它提供了有关名为ismail的Linux用户的详细信息。各列之间用“ : “. 如果同一列中有多个信息,则用“分隔” , “.
ismail:x:1000:1000:İsmail Baydan,,,:/home/ismail:/bin/bash
- 用户名为“ 伊斯梅尔 “.
- 密码已加密并存储在 /etc/阴影 文件。
- 用户ID或UID无效 1000 .
- 组ID或GUID无效 1000 .
- 用户的全名为“ İ斯迈尔拜丹 “.
- 用户主目录为“ /家乡/伊斯梅尔 “.
- 用户使用“ /垃圾箱/垃圾箱 “就像贝壳一样。
通过/etc/passwd文件列出具有cat命令的用户
如前所述,用户和相关信息存储在/etc/passwd文件中。此文件以分号分隔,其中用户名是第一列。可以使用诸如 啊 , 切, 等等,并且只能打印用户名。
$ cut -d: -f1 /etc/passwd
输出将如下所示,其中用户名将根据行顺序列出。
rootdaemonbinsyssyncgames...gdmismailsystemd-coredumplightdmlibvirt-qemulibvirt-dnsmasqsshd
我们也可以根据用户名对这些用户进行排序,但是使用 分类 命令如下。我们将把cut命令的输出重定向到sort命令中,在这个命令中,用户名将按字母顺序排列,从a开始。
$ cut -d: -f1 /etc/passwd | sort
_aptavahiavahi-autoipdbackupbincolordcups-pk-helperdaemondnsmasq...systemd-resolvesystemd-timesynctcpdumptssusbmuxuucpuuiddwhoopsiewww-data
另外,awk命令也可以像下面那样用于只列出linux用户名。
$ awk -F: '{ print $1}' /etc/passwd
使用getent命令列出用户
这个 格滕 命令用于显示配置了的数据库中的用户 /etc/nsswitch.conf文件 和/etc/passwd。这个 nsswitch.conf文件 用于配置LDAP源(通常为active directory),以便从集中的源管理用户。getent命令是列出用户的最完整的命令,因为如果当前Linux系统配置了LDAP,它还提供LDAP用户。
$ getent passwd
与前面的方法一样,cut和awk命令只能用于从getent命令输出中提取用户名。
$ getent passwd | awk -F: '{ print $1}'
或者可以像下面这样使用“剪切”命令。分隔符是用-d选项设置的,它将是“:”。-f1用于选择包含用户名的第一列。
$ getent passwd | cut -d: -f1
检查用户是否存在
一个典型的Linux系统包含了大量与系统相关的作业用户和普通用户。在用户列表命令的输出中搜索和查找特定的用户或用户名可能是一项容易出错的琐碎任务。您可以使用grep命令来搜索存在的特定用户或用户名。如果用户存在于linux系统中,则用户名行将打印到终端,如果不存在,则不会输出有关用户的信息。
$ getent passwd | grep "ismail"
或者用cat命令;
$ cat /etc/passwd | grep "ismail"
输出如下所示,这意味着用户ismail存在于当前的linux系统中。
![图片[2]-如何列出Linux中的用户(Ubuntu、Mint、Debian、CentOS)?-yiteyi-C++库](https://www.yiteyi.com/wp-content/uploads/2020/11/linuxtect_image-76.png)