アンドロイド

Linuxでグループをリストする方法

目次:

Anonim

Linuxでは、グループはユーザーの集まりです。 グループの主な目的は、グループ内のユーザー間で共有できる特定のリソースに対する読み取り、書き込み、または実行権限などの一連の特権を定義することです。 既存のグループにユーザーを追加して、付与された特権を利用できます。

このチュートリアルでは、ユーザーがメンバーになっているすべてのグループを表示する方法について説明します。 また、グループのすべてのメンバーをリストする方法についても説明します。

Linuxグループ

ユーザーが所属できるグループには2つのタイプがあります。

  • プライマリまたはログイングループ –ユーザーが作成したファイルに割り当てられるグループです。 通常、プライマリグループの名前はユーザーの名前と同じです。 各ユーザーは、1つのプライマリグループに属している必要があります。

    二次または補助グループ -特定の特権を一連のユーザーに付与するために使用されます。 ユーザーは、ゼロ以上のセカンダリグループのメンバーになることができます。

ユーザーがメンバーになっているすべてのグループを一覧表示する

ユーザーが属するグループを見つける方法は複数あります。

プライマリユーザーのグループは /etc/passwd ファイルに保存され、補助グループがあれば、 /etc/group ファイルにリストされます。

ユーザーのグループを見つける1つの方法は、 cat less または grep を使用してそれらのファイルの内容をリストすることです。 もう1つの簡単なオプションは、システムのユーザーとグループに関する情報を提供することを目的とするコマンドを使用することです。

groups コマンドを使用する

ユーザーがメンバーになっているすべてのグループをリストする最も記憶に残るコマンドは、 groups コマンドです。 引数なしで実行すると、コマンドは現在ログインしているユーザーが属するすべてのグループのリストを出力します:

groups

最初のグループはプライマリグループです。

john adm cdrom sudo dip plugdev lpadmin sambashare

特定のユーザーが属するすべてのグループのリストを取得するには、引数として groups コマンドにユーザー名を指定します。

groups linuxize

最初のグループがプライマリグループになる前と同じです。

linuxize: linuxize sudo

id コマンドを使用する

id コマンドは、指定されたユーザーとそのグループに関する情報を出力します。 ユーザー名を省略すると、現在のユーザーの情報が表示されます。

たとえば、ユーザー linuxize に関する情報を取得するには、次のように linuxize ます。

id linuxize

このコマンドは、ユーザー名( uid )、ユーザーのプライマリグループ( gid )、およびユーザーのセカンダリグループ( groups )を表示します

uid=1001(linuxize) gid=1001(linuxize) groups=1001(linuxize), 27(sudo)

ユーザーおよびグループIDなしで名前のみを印刷するには、 -n オプションを使用します。 オプション -g は、1次グループのみを印刷し、 -G すべてのグループを印刷します。

次のコマンドは、現在のユーザーがメンバーになっているグループの名前を出力します。

id -nG

john adm cdrom sudo dip plugdev lpadmin sambashare

グループのすべてのメンバーをリストする

グループのすべてのメンバーをリストするには、 getent group コマンドの後にグループ名を使用します。

たとえば、 developers という名前のグループのメンバーを見つけるには、次のコマンドを使用します。

getent group developers

グループが存在する場合、コマンドはグループとそのすべてのメンバーを出力します:

developers:x:126:frank, mary

グループが存在しないことを意味する出力がない場合。

すべてのグループをリストする

システムに存在するすべてのグループを表示するには、 /etc/group ファイルを開きます。 このファイルの各行は、1つのグループの情報を表します。

less /etc/group

別のオプションは、 getent コマンドを使用すること getent コマンドは、すべてのグループのリストを照会するために使用できる group データベースを含む、 getent ファイルで構成されたデータベースのエントリを表示します。

すべてのグループのリストを取得するには、次のコマンドを入力します。

getent group

出力は、 /etc/group ファイルの内容を表示する場合と同じです。 ユーザー認証にLDAPを使用している場合、 getent /etc/group ファイルとLDAPデータベースの両方からすべてのグループを表示します。

awk または cut を使用して、グループの名前を含む最初のフィールドのみを印刷することもできます。

getent group | awk -F: '{ print $1}'

getent group | cut -d: -f1

結論

このチュートリアルでは、ユーザーがメンバーになっているグループを見つける方法を学びました。 Ubuntu、CentOS、RHEL、Debian、Linux Mintなど、すべてのLinuxディストリビューションに同じコマンドが適用されます。

ご質問がある場合は、コメントをお気軽にお寄せください。

ターミナル