這個簡短的指南描述瞭如何列出 Linux 操作系統的所有用戶。在進入正題之前,我們先來看看 /etc/passwd 文件是什麼。這是因為整個指南都依賴於這個文件。
內容
關於 /etc/passwd 文件的簡要說明
在 Linux(和一般的 Unix)上,每個用戶帳戶的基本信息存儲在以下位置: “/etc/密碼” 文檔。這只是一個純文本文件,其中包含 Linux 系統上存在的所有用戶帳戶的屬性。
默認情況下,所有用戶都可以使用任何文本或圖形程序(Vi、Nano、Gedit 等)或類似命令讀取此文件。 “貓”。
當你打開這個文件…
$ cat /etc/passwd
…您將看到一些類似於以下內容的條目:
root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin bin:x:2:2:bin:/bin:/usr/sbin/nologin sys:x:3:3:sys:/dev:/usr/sbin/nologin sync:x:4:65534:sync:/bin:/bin/sync games:x:5:60:games:/usr/games:/usr/sbin/nologin [...]
/etc/passwd 文件中的每一行代表用戶。 root 用戶顯示在頂部。每行包含七個用冒號分隔的屬性或字段,每個字段之間沒有空格。 七個字段的名稱是:
- 姓名,
- 密碼,
- 用戶身份,
- 組 ID,
- 雅各布斯,
- 主目錄,
- 殼。
1.名稱
這個 “姓名” 該字段是用於登錄 Linux 機器的用戶登錄名。
2.密碼
這個 “密碼” 該字段僅包含字母 X。含義——出於安全原因,密碼被加密並存儲在一個名為“/etc/shadow”的單獨文件中。普通用戶無法讀取/etc/shadow。這裡的 X 表示用戶有密碼。如果此字段為空,則用戶沒有密碼,無需密碼即可登錄。
3. 用戶名
這個 “用戶身份“(或簡稱UID)代表用戶唯一的數字標識號。root賬戶的UID為0(零)。1到99的數字是為系統賬戶保留的。100到999的數字是為普通用戶和組保留的。
4.組ID
這個 “組號” (或簡稱GID)代表用戶所屬的主要組標識。 GID 通常與 UID 相同。
5.壁虎
這個 “壁虎” 這些字段包含有關用戶的一般信息。例如,它可能包含用戶的真實姓名。該字段可能是由兩個冒號分隔的空文件,也可能包含多個以逗號分隔的條目。
6.主目錄
這個 “主目錄” 此字段表示用戶主目錄的完整路徑。 /家/sk..這是用戶登錄系統時首先訪問的目錄。您的主目錄通常包含屬於您的程序和配置文件。
7. 殼牌
最後一次提交是 “殼”..顯示用戶默認 shell 的完整路徑。
我們以下面這行代碼為例。
root:x:0:0:root:/root:/bin/bash
在上面的行中
- 根 – 是用戶名,
- X – 表示 root 用戶有密碼。
- 0 – 第一個 0(零)代表 UID
- 0 – 第二個零代表 GID
- 根 – 顯示用戶的真實姓名。
- /根 – root 用戶的主目錄。
- /bin/bash – root 用戶的默認 shell。
希望您了解 /etc/passwd 文件的基礎知識。現在讓我們回到列出 Linux 系統上所有用戶的主題。
列出所有 Linux 用戶
有幾種方法可以列出 Linux 系統上的所有用戶。以下是所有可能的方法。
1.使用cat命令列出所有Linux用戶
顧名思義,cat 命令通常用於連接文件並輸出文件的內容。
要使用 cut 命令列出 Linux 系統上的所有用戶,請運行以下命令:
$ cat /etc/passwd
此命令列出所有可用用戶
樣本輸出:
root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin bin:x:2:2:bin:/bin:/usr/sbin/nologin sys:x:3:3:sys:/dev:/usr/sbin/nologin sync:x:4:65534:sync:/bin:/bin/sync games:x:5:60:games:/usr/games:/usr/sbin/nologin man:x:6:12:man:/var/cache/man:/usr/sbin/nologin lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin mail:x:8:8:mail:/var/mail:/usr/sbin/nologin news:x:9:9:news:/var/spool/news:/usr/sbin/nologin uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin proxy:x:13:13:proxy:/bin:/usr/sbin/nologin www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin backup:x:34:34:backup:/var/backups:/usr/sbin/nologin list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin irc:x:39:39:ircd:/var/run/ircd:/usr/sbin/nologin gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin systemd-network:x:100:102:systemd Network Management,,,:/run/systemd/netif:/usr/sbin/nologin systemd-resolve:x:101:103:systemd Resolver,,,:/run/systemd/resolve:/usr/sbin/nologin syslog:x:102:106::/home/syslog:/usr/sbin/nologin messagebus:x:103:107::/nonexistent:/usr/sbin/nologin _apt:x:104:65534::/nonexistent:/usr/sbin/nologin uuidd:x:105:111::/run/uuidd:/usr/sbin/nologin avahi-autoipd:x:106:112:Avahi autoip daemon,,,:/var/lib/avahi-autoipd:/usr/sbin/nologin usbmux:x:107:46:usbmux daemon,,,:/var/lib/usbmux:/usr/sbin/nologin dnsmasq:x:108:65534:dnsmasq,,,:/var/lib/misc:/usr/sbin/nologin rtkit:x:109:114:RealtimeKit,,,:/proc:/usr/sbin/nologin cups-pk-helper:x:110:116:user for cups-pk-helper service,,,:/home/cups-pk-helper:/usr/sbin/nologin speech-dispatcher:x:111:29:Speech Dispatcher,,,:/var/run/speech-dispatcher:/bin/false whoopsie:x:112:117::/nonexistent:/bin/false kernoops:x:113:65534:Kernel Oops Tracking Daemon,,,:/:/usr/sbin/nologin saned:x:114:119::/var/lib/saned:/usr/sbin/nologin avahi:x:116:122:Avahi mDNS daemon,,,:/var/run/avahi-daemon:/usr/sbin/nologin colord:x:117:123:colord colour management daemon,,,:/var/lib/colord:/usr/sbin/nologin hplip:x:118:7:HPLIP system user,,,:/var/run/hplip:/bin/false geoclue:x:119:124::/var/lib/geoclue:/usr/sbin/nologin gnome-initial-setup:x:120:65534::/run/gnome-initial-setup/:/bin/false gdm:x:121:125:Gnome Display Manager:/var/lib/gdm3:/bin/false sk:x:1000:1000:sk,,,:/home/sk:/bin/bash Debian-exim:x:122:128::/var/spool/exim4:/usr/sbin/nologin pulse:x:115:120:PulseAudio daemon,,,:/var/run/pulse:/usr/sbin/nologin systemd-timesync:x:123:127:systemd Time Synchronization,,,:/run/systemd:/usr/sbin/nologin tss:x:124:131:TPM software stack,,,:/var/lib/tpm:/bin/false tcpdump:x:125:132::/nonexistent:/usr/sbin/nologin _flatpak:x:126:133:Flatpak system-wide installation helper,,,:/nonexistent:/usr/sbin/nologin systemd-coredump:x:999:999:systemd Core Dumper:/:/usr/sbin/nologin
使用 cat 命令列出所有 Linux 用戶
如前所述,上述條目中的第一個字段代表用戶。如果您只需要用戶名而不是所有字段,則以下內容很有用。
3.使用cut命令列出用戶
“cut”命令用於從文件的每一行中刪除一個節(或字段)。
要在 Linux 系統上使用 cut 命令列出所有用戶,請運行以下命令:
$ cut -d: -f1 /etc/passwd
此命令僅顯示 /etc/passwd 文件中的用戶名,忽略所有其他字段。
樣本輸出:
root daemon bin sys sync games man lp mail news uucp proxy www-data backup list irc gnats nobody systemd-network systemd-resolve syslog messagebus _apt uuidd avahi-autoipd usbmux dnsmasq rtkit cups-pk-helper speech-dispatcher whoopsie kernoops saned avahi colord hplip geoclue gnome-initial-setup gdm sk Debian-exim pulse systemd-timesync tss tcpdump _flatpak systemd-coredump
使用 cut 命令列出所有 Linux 用戶
4. 在 Linux 上使用 awk 命令打印用戶
您還可以使用“awk”命令列出所有 Linux 用戶。
$ awk -F':' '{ print $1}' /etc/passwd
此命令僅顯示用戶並忽略所有其他詳細信息。
使用 awk 命令列出所有 Linux 用戶
5.使用compgen顯示用戶列表
健康 有一個內置的 BASH 用於操作可編程完成功能。
要列出所有使用 compgen 的用戶,請運行以下命令:
$ compgen -u
6.使用getent命令顯示所有用戶
在 Linux 上列出用戶的另一種方法是 “熱騰騰” 命令是:
$ getent passwd
此命令讀取 /etc/passwd 文件並列出該文件中的所有用戶。
使用 awk 命令列出所有 Linux 用戶
getent 命令的一個重要優點是它列出了在特定係統上配置的所有 userdb 後端(例如 LDAP)中的所有用戶,而不僅僅是 /etc/passwd 文件中的用戶。
7. 使用“more”或“less”命令列出用戶
更少的命令用於打開特定文件進行交互式閱讀,允許滾動和搜索。
要使用更多或更少的命令打印所有用戶,請運行以下命令:
$ more /etc/passwd
再次,
$ less /etc/passwd
相關閱讀:
- 如何在 Linux 上列出組成員
- 如何在 Linux 上找到當前登錄的用戶
- 如何在 Linux 上監控用戶活動
- 如何限制用戶訪問 Linux 系統
- 更多,更少,大多數命令之間的區別
- 如何向 Ubuntu 用戶添加、刪除和授予 Sudo 權限
- 如何在 Linux 上找出用戶屬於哪個組
- Linux上編輯/etc/passwd和/etc/group文件的正確方法
如果有幫助。
Linux Linux 管理 Linux Linux 基本命令 LinuxhowtoLinux 用戶管理 Linux 用戶列表