web-dev-qa-db-ja.com

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

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

14
becko

/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

詳細 こちら

14
A.B.

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

cut -d: -f1,3 /etc/passwd
  • -d:は、cutの区切り文字を:に設定します

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

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
10
heemayl

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

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

0
Mr_Macc

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

0
MitchellK