如何在Linux上列出用户

如何在Linux上列出用户

列出Linux用户

系统管理员必须配置和管理系统中的用户和组。有各种命令,例如添加用户,删除用户等,但是要列出所有用户,这是一项重要的任务。在本教程中,您将学习如何列出Linux上的用户。

列出所有使用的用户 /etc/passwd 文件

系统上的每个用户帐户 /etc/passwd 该文件包含一行。因此,您可以使用此文件轻松显示每个用户的登录信息。

使用以下命令显示每个用户的登录信息 cat 命令

cat passwd

输出看起来像这样:

如何在Linux-Cat命令上列出用户“ width =” 860“ height =” =“ 602” srcset =“ https://linux4one.com/wp-content/uploads/2018/11/How-to-list-users-在-Linux-Cat-Command.png 860w中,https://linux4one.com/wp-content/uploads/2018/11/How-to-list-users-in-Linux-Cat-Command-100x70.png 100w, https://linux4one.com/wp-content/uploads/2018/11/How-to-list-users-in-Linux-Cat-Command-300x210.png 300w,https://linux4one.com/wp-content /上传/ 2018/11 / Linux-Cat-Command-768x538.png 768w“如何在列表中列出用户” data-lazy-sizes =“(最大宽度:860px)100vw,860px如何列出Linux用户– Cat命令

在上面的屏幕截图中,每一行包含七个字段,这些字段由冒号分隔,其中包含以下数据:

  1. 用户名
  2. 加密的密码。 x表示密码存储在etc / shadow文件中。
  3. UID(用户ID)
  4. GID(用户的组ID)
  5. 用户名
  6. 用户$ HOME目录
  7. 登录shell通行证

使用awk和cut命令,您只能在文件中列出用户名

awk -F: '{ print $1}' /etc/passwd
cut -d: -f1 /etc/passwd

输出看起来像这样:

输出量

root
daemon
bin
sys
sync
...
...
...
mail
news
uucp
proxy
www-data
backup

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

Getent命令用于从数据库读取条目。 Getent使用LDAP数据库 /etc/passwd 文件

列出所有用户 getent 命令

getent passwd

如何在Linux-Getent命令上列出用户“ width =” 851“ height =” =“ 561” class =“ size-full wp-image-629” srcset =“ https://linux4one.com/wp-content/uploads / 2018 /11/Linux-Getent-Command.png 851w如何列出用户-https://linux4one.com/wp-content/uploads/2018/11/How-to-List-Users- in- Linux-Getent-Command-300x198.png 300w,https://linux4one.com/wp-content/uploads/2018/11/How-to-List-Users-in-Linux-Getent-Command-768x506.png 768w“ data-lazy-sizes =”(最大宽度:851px)100vw,851px如何在Linux-Getent命令中列出用户

您也可以只打印用户名 cutawk 命令

getent passwd | cut -d: -f1
getent passwd | awk -F: '{ print $1}'

检查用户是否存在于Linux系统上

您了解了如何在要检查用户是否存在时列出Linux用户。为此,请使用以下命令:

有两种方法可以使用getent命令确定特定用户是否存在。一种是使用grep命令或不使用grep命令。要检查用户john是否存在,命令为:

getent passwd | grep john

而且没有grep命令。

getent passwd john

注意:如果该用户存在,则会打印该用户的登录信息。否则,不打印任何内容。

要确定系统上的用户总数,请使用以下命令:

getent passwd | wc -l

输出看起来像这样:

输出量

47

系统有47个用户。

区分系统用户和普通用户

当您安装操作系统或安装或更新新软件包时,将在系统上创建一个新用户。

普通用户是由root用户创建的用户或具有sudo特权的用户。普通用户具有真实的登录外壳和$ HOME目录。

每个用户都有一个系统用户或普通用户的UID(用户ID)。普通用户使用和添加用户 adduser 命令通过从文件中引用UID_MIN和UID_MAX来添加用户并自动分配UID /etc/login.defs

要检查UID_MIN和UID_MAX类型:

grep -E '^UID_MIN|^UID_MAX' /etc/login.defs

输出看起来像这样:

输出量

UID_MIN			 1000
UID_MAX			60000

上面的输出显示所有撒谎介于1000到60000之间的普通用户。

要打印从1000到60000的所有普通用户,请输入以下命令:

getent passwd {1000..60000}

输出看起来像这样:

输出量

admin:x:1000:1000:admin:/home/rahul:/bin/bash
temp:x:1001:1001:,,,:/home/temp:/bin/bash

要仅打印用户名,请输入以下命令

eval getent passwd {$(awk '/^UID_MIN/ {print $2}' /etc/login.defs)..$(awk '/^UID_MAX/ {print $2}' /etc/login.defs)} | cut -d: -f1

列出Linux中的所有组

您可以使用以下命令列出所有Linux组:

getent group

要列出具有特定用户的所有组,请运行以下命令:

getent group | grep username

结论

您学习了如何在Linux上列出用户。如果对此有任何疑问,请不要忘记在下面发表评论。

Sidebar