グループとは何かを理解する
【連載コラム:Linuxを学ぼう(12)】
サーバーを扱う上で必須と言える技術が「Linux」。今回のコラムでは主にファイルやディレクトリのアクセス権に密接に関わる「グループ」について解説します。
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サーバーをインストールする
第17回:ネットワークの状態確認を理解する
第15回:ファイルのアクセス権を理解する
第14回:パッケージをアップデートする dnf編
第13回:PAMを理解する
第12回:グループとは何かを理解する
第11回:sudoコマンドについて理解する
第10回:suコマンドで特権ユーザーになる
第9回:ユーザー権限を理解する
第8回:SSHによるリモートログイン
第6回:Linuxイストールの実際
第5回:Linuxインストールの準備
第3回:学習環境を用意する
第2回:Linuxをどう学ぶのか
第1回:Linuxを学ぼう