ユーザーのリストを表示


24

私のシステムに何人のユーザーがいるかを知りたい。システム上のすべてのユーザーのリストを表示するにはどうすればよいですか?


2
/etc/passwdはあなたを助けると思います。
Зелёный

5
システム上にユーザーアカウントがいくつあるのか、それとも現在ログインしているユーザーが何人いるのか。
D_Bye

回答:


28

すべてのユーザーのリストを取得するには

getent passwd | cut -d':' -f1

これにより、システムユーザーデータベースの最初の列(ユーザー名)が選択されます。ソリューションの解析とは対照的に/etc/passwd、これは使用するデータベースの種類(従来の/etc/passwdLDAPなど)に関係なく機能します。このリストにはシステムユーザーも含まれていることに注意してください(例:nobody、mailなど)。

正確なユーザー番号は、次のように決定できます。

getent passwd | wc -l

現在ログインしているユーザーのリストは、usersor whoコマンドで取得できます。

users  # or
who

getent passwdLDAPなどで見つかったユーザーを含む現在のユーザーリストを取得するために使用しないのはなぜですか?また、wc -l/etc/passwd(または、その出力)をカウントするはるかに短い方法になりますgetent passwd
-n.st

@ n.stそれは確かに良いです。答えに変更を含めました。ありがとう。
マルコ

それは必ずしもすべてのユーザーをリストするわけではありません。一部のユーザーデータベースが非enumeratable行うことができます
ステファンChazelas

3

あなたは、単にできたファイルまたは使用、cat/etc/passwd

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

同じファイルの最初のフィールドをカットするには、期待する名前をリストします。Additonally、w whoそしてfingerすべての場所/ TTYとその活動の詳細に記録されている者であなたを助けます。


1

これは動作します:

sed 's/:.*//g' /etc/passwd

必要に応じて、グローバルフラグを削除することもできます。
DisplayName
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.