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

Linuxでグループをリストするための様々なコマンドとテクニックのガイド

Linuxエコシステムでは、ユーザーの集合は”グループ”と呼ばれています。 ユーザーがグループに追加されると、Linuxユーザーの権限を定義しています。 また、グループは、ユーザーがアクセスできるファイル、設定、およびフォルダを定義します。

最も簡単な言葉では、グループは、ユーザー間で共有されているリソースに対して、read(r)、write(w)、execute(x)などの権限を見つけて設定するのに役立ちます。 これらの権限は、必要に応じて変更することもできます。

ユーザーアカウントが属しているグループを見つけることは、特定のユーザーが持っている権限について学び、必要に応じて権限を変更するのに役立ちます。

この短いチュートリアルでは、いくつかの非常に簡単なコマンドとテクニックを使用して、ユーザーが属しているグループを見つけるのに役立ちます。

重要な前提条件

チュートリアルの詳細に進む前に、いくつかの概念の基本的な概要があれば役立ちます。 私は初心者が最初にこれらの概念を通過することをお勧めします。

Group:Linuxシステム上のユーザーの集合。 単一のユーザーは、複数のグループのメンバーになることができます。 グループは、ユーザーが持つ権限を定義します。

プライマリグループ:プライマリグループは、ユーザーアカウントに関連付けられたメイングループです。 各ユーザーは、単一のプライマリグループのメンバーである必要があります。 これは、ユーザーアカウントが作成されると同時に作成され、ユーザーがこのグループに自動的に追加されます。 通常、プライマリグループの名前はユーザーの名前と同じです。

:セカンダリグループは任意であり、ユーザーはセカンダリグループを持っていても、持っていなくてもかまいません。 これは、ユーザーにいくつかの追加の権限を付与するために使用されます。 ユーザーは、複数のセカンダリグループのメンバーにすることができます。

/etc/groupfile:Linuxでは、グループメンバーシップは/etc/groupファイルによって制御されます。 これは、グループと各グループに属するユーザーのリストを含む単純なテキストファイルです。

/etc/passwdfile:このファイルには、システム上のすべてのユーザーアカウントの情報が含まれています。 このファイルで表される行ごとに1つのユーザーアカウントのエントリがあります。

groupsコマンドの使用

groupsコマンドの使用は、現在のユーザーが属しているグループを一覧表示するための超簡単なプロセスです。 このコマンドを使用して、システムに登録されている特定のユーザーのグループを一覧表示することもできます。

:

groups

出力:

gaurav@ubuntu:~$ groupsgaurav adm cdrom sudo dip plugdev lpadmin sambasharegaurav@ubuntu:~$

特定のユーザーのグループを検索します。

:

groups 

例:

gaurav@ubuntu:~$ groups tomcattomcat : tomcat lpadmin sambasharegaurav@ubuntu:~$ 

この例では、tomcatという名前のユーザーが属しているグループをリストしました。

idコマンドを使用する

idコマンドを使用すると、ユーザーのグループ情報が表示されます。 これは、uid(ユーザー id)、gid(グループid)、およびユーザーが属しているグループのリストのようなパラメータを示しています。

:

id 

例:

gaurav@ubuntu:~$ id tomcatuid=1002(tomcat) gid=1002(tomcat) groups=1002(tomcat),113(lpadmin),128(sambashare)gaurav@ubuntu:~$

id 引数を指定せずにコマンドを使用すると、現在のユーザーに関するグループ情報が返されます。

:

gaurav@ubuntu:~$ iduid=1000(gaurav) gid=1000(gaurav) groups=1000(gaurav),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),113(lpadmin),128(sambashare)gaurav@ubuntu:~$

ここでは、現在のユーザのグループ情報が表示される。

/etc/groupファイルの使用

前提条件ブロックで説明したように、/etc/groupファイルにはシステムで使用可能なグループのすべての情報が含まれていることがわか このファイルを使用して、次のような簡単なコマンドを使用してグループのリストを表示できます。

catless、またはgrepコマンドを使用して、このファイルの内容を開くことができます。

less /etc/group

:

root:x:0:daemon:x:1:bin:x:2:sys:x:3:adm:x:4:syslog,gauravtty:x:5:disk:x:6:lp:x:7:mail:x:8:news:x:9:uucp:x:10:man:x:12:proxy:x:13:kmem:x:15:dialout:x:20:fax:x:21:voice:x:22:cdrom:x:24:gauravfloppy:x:25:tape:x:26:sudo:x:27:gauravaudio:x:29:pulsedip:x:30:gaurav,batmanwww-data:x:33:

これにより、Linuxシステム上のグループ全体が一覧表示されます。

getentコマンドを使用してすべてのグループを一覧表示

getentコマンドを使用すると、Linuxシステムで使用可能なすべてのグループのリストを表示できます。 出力は/etc/groupファイルの内容と似ています。

getent groupコマンドを使用すると、/etc/nsswitch.confファイルで構成されたデータベースのエントリが表示されます。

:

getent group

例:

gaurav@ubuntu:~$ getent grouproot:x:0:daemon:x:1:bin:x:2:sys:x:3:adm:x:4:syslog,gauravtty:x:5:disk:x:6:lp:x:7:msedip:x:30:gaurav,batman:x:39:stmp:x:43:video:x:44:sasl:x:45:plugdev:x:46:gauravstaff:x:50:games:x:60:users:x:100:106:crontab:x:107:vahi:x:120:bluetooth:x:121:scanner:x:122:sanedcolord:x:123:pulse:x:124:pulse-access:x:125:rtkit:x:126:saned:x:127:trinity:x:1000:sambashare:x:128:gauravmongodb:x:130:mongodbguest-tqrhc7:x:999:guest-piinii:x:998:scala:x:997:sbt:x:996:guest-oi9xaf:x:995:tomcat:x:1001:tomcat7:x:132:tomcat8:x:133:geoclue:x:105:gdm:x:134:mysql:x:129:couchdb:x:131:temporary:x:1002:

特定のユーザーのグループを検索するには、次のコマンドを使用します。

getent group | grep 

:

gaurav@ubuntu:~$ getent group | grep gauravadm:x:4:syslog,gauravcdrom:x:24:gauravsudo:x:27:gauravdip:x:30:gaurav,batmanplugdev:x:46:gauravlpadmin:x:113:gauravgaurav:x:1000:sambashare:x:128:gauravgaurav@ubuntu:~$ 

ユーザー gauravに関連付けられているすべてのグループが端末に一覧表示されます。

libuser-lidコマンドを使用する

libuser-lid コマンドは、ユーザー名を含むグループ、またはグループ名に含まれるユーザーに関する情報を表示します。

注:このコマンドにはsudo権限が必要です。 それ以外の場合は、次のようにエラーが発生します-

No user name specified,
Error initializing libuser: not executing with superuser privileges

libuser-lidユーティリティがディストリビューションで使用できない場合は、次のコマンドを使用してインストールできます。UbuntuおよびDebianユーザーの場合

:

sudo apt-get update
sudo apt-get install libuser

CentOS、Fedoraおよびその他のディストリビューションの場合:

sudo yum install libuser

構文:

sudo libuser-lid 

例:

gaurav@ubuntu:~$ sudo libuser-lid gaurav

出力:

adm(gid=4)cdrom(gid=24)sudo(gid=27)dip(gid=30)plugdev(gid=46)lpadmin(gid=113)trinity(gid=1000)sambashare(gid=128)

ここでは、入力されたユーザー名に関連付けられているすべてのグループがリストされています。

結論

この超簡単なチュートリアルでは、Linuxシステムで利用可能なグループを表示する方法を学びました。 このチュートリアルで説明するコマンドは、すべてのLinuxディストリビューションに同じ方法で適用できます。

Leave a Reply