Linuxでグループをリストする方法
Linuxでグループをリストするための様々なコマンドとテクニックのガイド
Linuxエコシステムでは、ユーザーの集合は”グループ”と呼ばれています。 ユーザーがグループに追加されると、Linuxユーザーの権限を定義しています。 また、グループは、ユーザーがアクセスできるファイル、設定、およびフォルダを定義します。
最も簡単な言葉では、グループは、ユーザー間で共有されているリソースに対して、read(r
)、write(w
)、execute(x
)などの権限を見つけて設定するのに役立ちます。 これらの権限は、必要に応じて変更することもできます。
ユーザーアカウントが属しているグループを見つけることは、特定のユーザーが持っている権限について学び、必要に応じて権限を変更するのに役立ちます。
この短いチュートリアルでは、いくつかの非常に簡単なコマンドとテクニックを使用して、ユーザーが属しているグループを見つけるのに役立ちます。
重要な前提条件
チュートリアルの詳細に進む前に、いくつかの概念の基本的な概要があれば役立ちます。 私は初心者が最初にこれらの概念を通過することをお勧めします。
Group:Linuxシステム上のユーザーの集合。 単一のユーザーは、複数のグループのメンバーになることができます。 グループは、ユーザーが持つ権限を定義します。
プライマリグループ:プライマリグループは、ユーザーアカウントに関連付けられたメイングループです。 各ユーザーは、単一のプライマリグループのメンバーである必要があります。 これは、ユーザーアカウントが作成されると同時に作成され、ユーザーがこのグループに自動的に追加されます。 通常、プライマリグループの名前はユーザーの名前と同じです。
:セカンダリグループは任意であり、ユーザーはセカンダリグループを持っていても、持っていなくてもかまいません。 これは、ユーザーにいくつかの追加の権限を付与するために使用されます。 ユーザーは、複数のセカンダリグループのメンバーにすることができます。
/etc/group
file:Linuxでは、グループメンバーシップは/etc/group
ファイルによって制御されます。 これは、グループと各グループに属するユーザーのリストを含む単純なテキストファイルです。
/etc/passwd
file:このファイルには、システム上のすべてのユーザーアカウントの情報が含まれています。 このファイルで表される行ごとに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
ファイルにはシステムで使用可能なグループのすべての情報が含まれていることがわか このファイルを使用して、次のような簡単なコマンドを使用してグループのリストを表示できます。
cat
、less
、または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