UIDを持つすべてのユーザーをリストするコマンド?


15

すべてのユーザーとそのUIDをリストするにはどうすればよいですか?ターミナルからこれをしたいです。


猫/ etc / passwd
パンサー

回答:


17

/homeフォルダーを持つすべてのユーザーをリストします。

awk -F: '/\/home/ {printf "%s:%s\n",$1,$3}' /etc/passwd

またはUID >= 1000

awk -F: '($3 >= 1000) {printf "%s:%s\n",$1,$3}' /etc/passwd

組み合わせ

awk -F: '/\/home/ && ($3 >= 1000) {printf "%s:%s\n",$1,$3}' /etc/passwd

またはすべてのエントリ

awk -F: '{printf "%s:%s\n",$1,$3}' /etc/passwd

詳細はこちら


10

以下を使用するだけで簡単に見つけることができますcut

cut -d: -f1,3 /etc/passwd
  • -d:区切り文字を設定し、:ためcut

  • -f1,3ファイル:からのみ区切られたフィールド1と3を抽出し/etc/passwdます

man cutより多くのアイデアを得るためにチェックしてください。

例:

$ cut -d: -f1,3 /etc/passwd
root:0
daemon:1
bin:2
sys:3
sync:4
games:5
......

ldap設定済みの場合ldap、出力にユーザーを含めるには:

getent passwd | cut -d: -f1,3

1
getent passwd/ etc / passwdにはldapユーザーが含まれないため、/ etc / passwdの代わりに使用する必要があります
-Daenyth

@Daenyth 私の最初の答えは、実際に..それから単純化のために(そして考慮しないldap)、私は現在のものに移動しました。とにかく編集:)
heemayl

0

UIDとユーザー名を一覧表示しようとしているため、以下のコマンドはSolarisで最適に機能します。彼らは2つのawkを持っています

awk -F: '($ 3> = 1000){printf "%s:%s"、$ 1、$ 3}' / etc / passwd


0

最も簡単な方法は、webminをサーバー上に置いて、[システム]> [ユーザーとグループ]に移動することです。そこには、すべてのユーザー名とグループとそのuidやホームディレクトリなどのリストがあります。


0

または、UIDおよびGID情報を含むすべてのユーザーをリストすることもできます。

for user in $(cat /etc/passwd | cut -f1 -d":"); do id $users; done 

乾杯、

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.