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

Linuxでユーザーがどのグループに属しているかを確認する方法

Linuxグループは、ファイルとディレクトリに対して同一の権限要件を持つ1人以上のユーザーの集まりです。ユーザーは、一度に複数のグループのメンバーになることができます。 Linuxでは、各グループ情報は "/ etc / group"に保存されます。 ファイル。このチュートリアルでは、LinuxおよびUnixライクなオペレーティングシステムでユーザーがどのグループに属しているかを簡単に見つけるためのすべての可能な方法を説明します。

多くの場合、ユーザーアカウントが属するグループを見つけることが役立ちます。たとえば、先日、UbuntuサーバーにDropboxをインストールしていました 。 Dropboxを構成するときに、現在のユーザー名とグループ名を入力する必要がありました。また、ユーザーが属するグループを識別する必要がある状況にある可能性もあります。その場合は、次のいずれかの方法を使用して、ユーザーがどのグループに属しているかを確認してください。

Linuxでユーザーが属するグループを確認する

Linuxユーザーがメンバーになっているグループを一覧表示する方法はたくさんあります。最も一般的に使用される方法は、グループを使用することです。 コマンド。

方法1-グループコマンド

グループ コマンドは現在のグループ名を表示し、ユーザーはLinuxおよびUnixライクなオペレーティングシステムでそれらのグループに属します。

まず、Linuxシステムにいくつのグループがあるかを調べましょう。

Linuxで利用可能なリストを見つけるには、グループを実行します。 以下のような引数なしのコマンド:

$ groups

出力例:

sk adm disk cdrom sudo dip plugdev lpadmin sambashare kvm libvirt vboxusers

Linuxで利用可能なグループを一覧表示する

上記の出力からわかるように、現在、私のシステムには12のグループがあります。

次に、特定のユーザーのグループを見つけます。たとえば、 sk 、 属する。これを行うには、以下のようにユーザー名の後に「groups」コマンドを入力します。

$ groups sk

出力例:

sk : sk adm disk cdrom sudo dip plugdev lpadmin sambashare vboxusers kvm libvirt

groupsコマンドを使用して、Linuxでユーザーが属するグループを確認します

ここで、 sk は私のユーザー名であり、ユーザーskは上記のすべてのグループのメンバーです。 「sk」が2回リストされていることに気づいたかもしれません。なぜなら、ユーザー名とグループ名の両方に同じ名前を使用したからです。

「groups」コマンドの詳細については、manページを参照してください。

$ man groups

方法2-idコマンド

ユーザーが所属するグループを識別する別の方法は、 "id"を使用することです。 指図。 idコマンドは、指定されたUSERのユーザーおよびグループ情報を出力するために使用されます。 USERが指定されていない場合は、現在のユーザーの情報が出力されます。

「id」コマンドを使用してユーザーが属するすべてのグループを識別するには、次のコマンドを実行します。

$ id sk

skを置き換えます ユーザー名を使用します。

出力例:

uid=1000(sk) gid=1000(sk) groups=1000(sk),4(adm),6(disk),24(cdrom),27(sudo),30(dip),46(plugdev),116(lpadmin),126(sambashare),1001(vboxusers),129(kvm),136(libvirt)

idコマンドを使用して、Linuxでユーザーが属するグループを確認します

ここに表示されているように、idコマンドは、ユーザーがメンバーになっているグループだけでなく、特定のユーザーとグループのグループIDとユーザーID(UIDとGID)も一覧表示します。 「groups」コマンドよりも詳細な出力があるため、グループID /ユーザーIDが必要な場合は、これを使用してください!

数字を印刷したくない場合は、 -Gnを使用してください。 以下のようなフラグ:

$ id -Gn sk
sk adm disk cdrom sudo dip plugdev lpadmin sambashare vboxusers kvm libvirt

詳細については、manページを参照してください。

$ man id

方法3-「/etc/group」ファイルを使用

すでに述べたように、 / etc / group ファイルには、Linuxシステムの各グループに関する情報が含まれています。 / etc / group のコンテンツから、特定のユーザーがどのグループに属しているかを確認できます。 "grep"を使用してファイルを作成する 以下に示すコマンド:

$ grep sk /etc/group

出力例:

adm:x:4:syslog,sk
disk:x:6:sk
cdrom:x:24:sk
sudo:x:27:sk
dip:x:30:sk
plugdev:x:46:sk
lpadmin:x:116:sk
sk:x:1000:
sambashare:x:126:sk
vboxusers:x:1001:sk
kvm:x:129:sk
libvirt:x:136:sk,libvirtdbus

グループIDとユーザー名を除外し、グループ名のみを表示する場合は、「grep」コマンドの出力を「awk」にパイプします。 以下のようなコマンド:

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

出力例:

adm
disk
cdrom
sudo
dip
plugdev
lpadmin
sk
sambashare
vboxusers
kvm
libvirt

grepおよびawkコマンドを使用して、Linuxでユーザーが属するグループを検索します

方法4-getentコマンド

「getent」 コマンドは、 /etc/nsswitch.confで構成されているNameServiceSwitchライブラリでサポートされているデータベースのエントリを表示します。 ファイル。

以下のようなgetentコマンドを使用して、Linuxシステムで使用可能なすべてのグループとそのメンバーを一覧表示できます。

$ getent group

特定のユーザー(skなど)が属するグループを見つけるには、次のコマンドを実行します:

$ getent group | grep sk

出力例:

adm:x:4:syslog,sk
disk:x:6:sk
cdrom:x:24:sk
sudo:x:27:sk
dip:x:30:sk
plugdev:x:46:sk
lpadmin:x:116:sk
sk:x:1000:
sambashare:x:126:sk
vboxusers:x:1001:sk
kvm:x:129:sk
libvirt:x:136:sk,libvirtdbus

他のすべての詳細を除いてグループのみを表示する場合は、次のように「grep」および「awk」コマンドで出力をフィルタリングします。

$ getent group | grep sk | awk -F: '{ print $1 }'
adm
disk
cdrom
sudo
dip
plugdev
lpadmin
sk
sambashare
vboxusers
kvm
libvirt

getent、grep、awkコマンドを使用して、Linuxでユーザーが属するグループを検索します

Linuxのグループに属するすべてのユーザーを一覧表示する

特定のグループに属するすべてのユーザーのリストも表示されます。たとえば、次のコマンドは、 storageという名前のグループに属するユーザーを表示します。 。

$ grep -w storage /etc/group
storage:x:95:sk

簡単ですよね?それはそう。ユーザーが所属するグループと特定のグループのユーザーを見つけるのはとても簡単です!!

関連記事:

  • Linuxでグループのメンバーを一覧表示する方法
  • LinuxシステムですべてのSudoユーザーを検索する方法

これは役に立ちます。


Linux
  1. Linuxで開いているすべてのポートのリストを見つける方法

  2. Linuxコマンドが何をするかを知る方法

  3. 特定のユーザーがどのグループを持っているかを調べる方法は?

  1. 実行しているLinuxバージョンは何ですか?調べる方法は次のとおりです

  2. LinuxですべてのSudoユーザーを見つける方法

  3. Linuxでユーザーのメモリ使用量を見つける方法

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

  2. Linux でスワップ領域を使用しているプロセスを見つける方法は?

  3. Linuxでファイルを使用しているプロセスを見つける方法は?