如何在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