GNU/Linux >> Linux の 問題 >  >> Linux

すべてのユーザーとそのグループを表示する/その逆

解決策 1:

すべてのユーザー:

$ getent passwd

すべてのグループ:

$ getent group

特定のユーザーがいるすべてのグループ:

$ getent group | grep username

解決策 2:

ユーザーとそのグループを一覧表示:

for user in $(awk -F: '{print $1}' /etc/passwd); do groups $user; done

グループとそのユーザーを一覧表示:

cat /etc/group | awk -F: '{print $1, $3, $4}' | while read group gid members; do
    members=$members,$(awk -F: "\$4 == $gid {print \",\" \$1}" /etc/passwd);
    echo "$group: $members" | sed 's/,,*/ /g';
done

解決策 3:

LDAP や NIS などのリモート ユーザーを気にしない場合、ユーザーとそれに関連するグループを簡単な方法で一覧表示するには:

cut -d: -f1 /etc/passwd | xargs groups

出力;

root : root
myuser : root www-data fuse 
anotheruser : anotheruser   cdrom floppy audio dip video plugdev scanner bluetooth netdev

解決策 4:

すべてのユーザーを一覧表示

cut -d':' -f 1 /etc/passwd

または

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

cat /etc/passwd の間 cut -d ':' -f 1 すべてのユーザー (および他の多くのもの) を表示します 区切り文字として「:」を使用して各行を分割し、最初のフィールド (users) だけを抽出する簡単な方法です。 awk バージョンとほとんど同じです。

すべてのグループを一覧表示

cut -d':' -f 1 /etc/group

または

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

ユーザーをリストするのと非常によく似ています。 /etc/group を解析するだけです

おそらくOPが望んでいたものに近い別の興味深い方法は、 compgen です .ただし、互換性の問題については不明です。

compgen -u
compgen -g

Linux
  1. LinuxユーザーとLinuxグループを管理する

  2. すべての「at」ジョブとそれぞれのコマンドのリストを表示する

  3. FreeIPAサーバーでユーザーとグループを管理する方法

  1. Linuxでユーザーとグループを操作する方法

  2. すべてのテキストを大文字から小文字に、またはその逆に変換しますか?

  3. allow および deny ディレクティブを使用してユーザー/グループを制限するように SSH を構成する方法

  1. ユーザー、グループ、その他のLinux権限を管理する方法

  2. fstab エントリを変更して、すべてのユーザーが EXT4 ボリュームを読み書きできるようにします。

  3. ディレクトリ内のすべての拡張子とそれぞれのファイル数を取得する