Shell-Script

列出 Linux 伺服器上所有使用者名的命令

  • July 22, 2020

什麼命令可以生成 Linux 伺服器上所有授權使用者的使用者名列表?我試過了

getent passwd | cut -d : -f 1 | xargs groups 

less /etc/passwd 

grep 'x:0:' /etc/passwd 

getent passwd

grep "/bin/bash" /etc/passwd | cut -d: -f1

但以上都沒有給我我想要的,這只是一個使用者名列表。

任何幫助將不勝感激

使用您的第一次嘗試,但刪除| xargs groups. 真的,雖然,這是足夠基本的,它並不完全適合這個網站……

awk(1) 是另一個有用的工具。awk 能夠根據指定的分隔符從文本行中解析單個欄位。在 /etc/passwd 的情況下,該分隔符是一個冒號,因此我們在 awk 命令行上傳遞 ‘-F:’。同樣,由於使用者名是該行的第一個欄位,而 awk 的數字欄位從 1 開始,我們規定 ‘print $1’ 告訴 awk 列印每行的第一個欄位。

awk -F: '{ print $1 }' < /etc/passwd

這可以很容易地適應列印 passwd 文件中的任何欄位。以下是每個使用者名(欄位 1)的列表,後跟一個空格,然後是他們的登錄 shell(欄位 7):

awk -F: '{ print $1, $7 }' < /etc/passwd

引用自:https://unix.stackexchange.com/questions/158803