グループとは何かを理解する

【連載コラム:Linuxを学ぼう(12)】
サーバーを扱う上で必須と言える技術が「Linux」。今回のコラムでは主にファイルやディレクトリのアクセス権に密接に関わる「グループ」について解説します。

最終更新日:2023年10月05日

Linuxの動作では、ユーザーだけでなくグループが影響してくることがあります。主にファイルやディレクトリのアクセス権は密接に関係してきます。今回はグループについて解説します。


ユーザーとグループ

Linuxのアクセス権は、ユーザーそのものと、そのユーザーが所属するグループ、そしてそれ以外のユーザーの3種類に区別されます。グループは、所属しているすべてのユーザーに対してまとめてアクセス権を与えるために使われます。

ユーザーは、かならず1つのグループに所属します。さらに複数のサブグループにかけもちで所属することができます。

idコマンドで確認

そのユーザーがどのグループに所属しているかはidコマンドで確認できます。

[linuc@localhost ~]$ id
uid=1001(linuc) gid=1001(linuc) groups=1001(linuc),10(wheel) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

この実行例では、ユーザーlinucはlinucというグループに所属しており、さらにサブグループとしてwheelグループに所属しているのが分かります。

2行目はSELinuxというさらに厳格なアクセス権の制御に使う情報です。

グループに所属させる

では、ユーザーをグループに所属させる方法を確認してみましょう。

グループを作成する

グループを作成するには、groupaddコマンドを使います。作成されたグループは/etc/groupに記述されます。

[root@localhost ~]# groupadd lpijapan
[root@localhost ~]# cat /etc/group
root:x:0:
bin:x:1:
(中略)
linuc:x:1001:
lpijapan:x:1002: ※追加されたグループ

ユーザーをグループに所属させる

ユーザーをグループに所属させるにはusermodコマンドを使います。-Gオプションでサブグループを指定します。注意しないといけないのは-aオプションを併用しないとそれまで所属していたサブグループから外れてしまう点です。

[root@localhost ~]# usermod -G lpijapan linuc
[root@localhost ~]# id linuc
uid=1001(linuc) gid=1001(linuc) groups=1001(linuc),1002(lpijapan)

このように、wheelグループには所属していない状態になってしまいました。-aオプションを使ってwheelグループへの所属を追加してみます。

[root@localhost ~]# usermod -G wheel -a linuc
[root@localhost ~]# id linuc
uid=1001(linuc) gid=1001(linuc) groups=1001(linuc),10(wheel),1002(lpijapan)

今度は、lpijapanグループ所属を残しながら、wheelグループへの所属も追加することができました。

wheelグループについて

wheelグループは、sudoコマンドの設定のところでも出てきました。wheelは自動車などの車輪の意味の他、船の操舵輪という意味があります。ちょうど、Linuxの管理者は船の操舵手になぞらえられるわけです。

グループは、Linuxのシステムにおいて様々なところで関係してくるものなので、しっかりと確認、設定できるようにしておきましょう。


筆者紹介
宮原 徹 氏

宮原 徹 氏

株式会社びぎねっと

Linux標準教科書、Linuxサーバー構築標準教科書などの監修者。LinuCレベル1/レベル2 Version10.0の改訂作業にも協力。また、幅広いOSSに関する情報提供の場として「オープンソースカンファレンス(OSC)」の企画運営も。

バックナンバー

第21回:外部からWebサーバーにアクセスする

第20回:Webサーバーを動かす

第19回:Webサーバーをインストールする

第18回:典型的なネットワークトラブルについて理解する

第17回:ネットワークの状態確認を理解する

第16回:アクセス権に関わる様々なことについて理解を深める

第15回:ファイルのアクセス権を理解する

第14回:パッケージをアップデートする dnf編

第13回:PAMを理解する

第12回:グループとは何かを理解する

第11回:sudoコマンドについて理解する

第10回:suコマンドで特権ユーザーになる

第9回:ユーザー権限を理解する

第8回:SSHによるリモートログイン

第7回:Linuxインストール後にやること

第6回:Linuxイストールの実際

第5回:Linuxインストールの準備

第4回:Linux学習のためのネットワーク環境

第3回:学習環境を用意する

第2回:Linuxをどう学ぶのか

第1回:Linuxを学ぼう

ページトップへ