ユーザとグループ
Linuxを操作するためには、まずユーザを作成します。Linuxを操作するときには、作成したユーザでログインします。また、ユーザはどこかのグループに所属しなければなりません。
ユーザとグループは何のためにあるかというと、主にユーザごとあるいはグループごとに、そのLinux上でできることを制限するためです。そもそも、部外者はLinuxに何も操作できてはいけません。そのために、操作を始める前には必ずログインが求められます。さらに、実行してよいプログラムや、読み書きしてよいファイルなども、ユーザあるいはグループごとに設定する必要があります。他人のファイルを壊したり、システムに障害を発生させたりしないため、こうした仕組みがLinuxには組み込まれています。
1つのグループには複数のユーザが所属できます。逆に、1つのユーザが複数のグループに所属することもできます。ただし、「これがメインの所属」というグループを1つ決めなければなりません。このメインで所属しているグループのことをプライマリグループといいます。
次の図を見てください。ユーザAがグループXとグループYに所属しています。このとき、ユーザAはグループXかグループYのいずれかをプライマリグループに決めなければなりません。ユーザBはグループYにしか所属していませんので、必然的にグループYがユーザBのプライマリグループになります。
グループの作成
それでは最初に、グループを作成してみましょう。グループの作成はgroupadd
コマンドで行います。コマンドの意味は、文字どおり「グループ(group)の追加(add)」です。
# groupadd groupX
上記のようにgroupadd
コマンドを実行すると、グループgroupXが作成されます。グループの一覧は「/etc/group」というテキストファイルで管理されています。グループgroupXが作成されたことを、cat
コマンドで確認してみましょう。
# cat /etc/group
Linux上の全グループが表示されます。追加したばかりのグループgroupXは一番最後の行で、次のように表示されます。
groupX:x:500:
グループの情報には、「:
」(コロン)区切りで4つの項目が含まれており、それぞれの意味は次のとおりです。
- 1つ目の項目は「グループ名」です。
-
2つ目の項目は「グループパスワード」です。「
x
」はパスワードが/etc/gshadowファイルに記載してあることを意味します。 -
3つめの項目は「GID」(グループID)です。GIDはグループ名に付ける番号で、
groupadd
コマンドで指定しなければ500番から順に番号が振られていきます(CentOSの場合)。 - 4つめの項目は、「このグループがサブグループに指定されているユーザ名」です。ここではグループXに所属するユーザが以内ので空になっています。
グループの変更
次に、今追加したグループの情報を変更してみましょう。グループの情報を変更するコマンドは、「グループ(group)の変更(modify)」ということでgroupmod
コマンドです。グループ名(name)の変更にはn
オプション、グループID(GID)の変更にはg
オプションを使います。
それでは、次のコマンドを実行してみましょう。
# groupmod -n groupXX -g 510 groupX
このようにオプションが増えてくると、肝心のグループ名「groupX」を書き忘れてしまうことがあるので注意しましょう。groupmod
コマンドを実行できたら、ちゃんと変更されているか確認しておきます。ここでは次のように表示されればOKです。
# cat /etc/group | grep groupXX groupXX:x:510:
グループの削除
最後に、グループの削除を行ってみましょう。グループを削除するコマンドは、「グループ(group)の削除(delete)」ということでgroupdel
コマンドです。次のようにコマンドを打って実行してください。
# groupdel groupXX
削除されたかどうかは先ほど同様、/etc/groupファイルを見れば分かりますね。ファイルに「groupXX」がなくなっていることを確認しておきましょう。
# cat /etc/group | grep groupXX #
これでグループの追加、変更、削除ができるようになりました。