Linux 列出檢視所有系統帳號


Linux 下的 /etc/passwd 檔案儲存了系統帳號的資訊, 其中也包括帳號的使用者名稱, 而 /etc/passwd 沒有包括密碼在裡面, 沒有 root 權限也可以讀取。要列出所有系統帳號, 只要用 cat, more,less 等指令, 便可以列出帳號:

$ cat /etc/passwd

執行以上指令後, 會有類似以下的輸出:

root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt


上面輸出的第一個欄位就是帳號的使用者名稱, 如果想只輸出第一個欄位, 讓列出的帳號使用者名稱可讀性更強, 可以用 awk 以 “:” 字符分隔:

$ awk -F’:’ ‘{ print $1}’ /etc/passwd

以上用 awk 指令輸出的內容, 只會列出帳號的使用者名稱, 類似這樣:

root
bin
daemon
adm
lp
sync
shutdown
halt
mail
operator
games
ftp
nobody
systemd-network
dbus
polkitd
sshd
postfix
named
nginx

除了用 awk 外, 也可以用 cut 指令, 會得出相同的結果:

$ cut -d: -f1 /etc/passwd

以上指在 Linux 列出系統帳號的方法。

Leave a Reply