グループとユーザ

グループとユーザ

 Linuxを利用するにはユーザアカウントが必要である。これはログインしたユーザがlinuxというシステムの利用権限を持っているからである。グループを利用すれば複数のユーザを束ねることができる。

 グループとユーザを適切に設定することで、ファイルやディレクトリ、任意のプログラムやシェルスクリプトなどを必要なユーザにのみ参照、編集、実行する権限を与えることができる。

 グループとユーザを作成、変更、削除するコマンドは管理コマンドなので、管理者であるrootユーザで実行する必要がある。

ユーザ

 メモリやファイルなどの様々な資源を利用するために、ユーザという最小単位で権限を定義できる。

 インストール時から用意されているユーザに加えて、システム管理者が必要に応じてユーザを定義できる。ユーザの定義は/etc/passwdファイルに記述する。

 Linuxでは、/etc/passwdファイルに記述する代わりに、 useradd コマンドで新しいユーザを追加し、usermod コマンドでユーザの定義をj変更し、userdel コマンドでユーザを削除することが推奨されている。

ユーザの作成

 新しくユーザを作るには、useradd コマンドを使う。ユーザには数字であるユーザIDを割り振る。作成したユーザをログインユーザとして使用する場合は passwd コマンドにてパスワードを登録する必要がある。

$ useradd ユーザ名

オプション

-c コメント
コメント ( 文字列 ) を指定する。

-g グループ名
プライマリグループを指定する。グループ名は/etc/groupファイルで定義したグループである。

-G グループ名
補助グループを指定する。

-s 
シェルを指定する。デフォルトで/bin/bashが指定されているディストリビューションが多く、ログインしないユーザはonloginを指定するなどする。

-u ユーザID
ユーザID番号を指定する

ユーザアカウントの変更

 ユーザのアカウントを変更するにはusermodコマンドを使う。

$ usermod ユーザ名

オプション

-c コメント
コメント ( 文字列 ) を変更する。

-g グループ名
プライマリグループを変更する。グループ名は/etc/groupファイルで定義したグループである。

-G グループ名
補助グループを変更する。

-l 
既存のユーザ名を変更する。

-u ユーザID
ユーザID番号を変更する

ユーザの削除

 ユーザを削除するには、userdel コマンドを使う。

$ userdel ユーザ名

オプション

-r
ホームディレクトリを削除する。

グループ

 複数のユーザの権限をまとめて扱うためにグループを使う。ユーザは必ず1つ以上のグループbに所属していて、主に所属するグループをプライマリグループと呼ぶ。

 最初から用意されているグループに加えて、システム管理者が必要に応じてグループを定義できる。グループの定義は/etc/groupファイルに記述する。

 Linuxではetc/groupファイルをエディタで直接編集する代わりに、groupadd コマンドで新しグループを追加し、groupemod コマンドでグループの定義を変更し、groupedel コマンドでグループを削除することが推奨されている。

グループの作成

 新しくグループを着くには groupadd コマンドを使う。グループには数字のグループIDを割り振る。

$ groupadd グループ名

オプション

-g グループID番号
グループId番号を指定する。

グループの登録情報の変更

 グループの定義を変更するには、groupmod コマンドを使う。

$ groupmod [-g gid] [-n new0group-name] 変更対象のグループ

オプション

-n
既存のグループ名を変更する場合に指定する。

-g
既存のグループIDを変更する。100未満のグループIDはシステムで使われているため、指定することはできない。

実行例

$ groupmod -n penguin dolphin
( dolphin グループを penguin グループに名前変更 )

$ groupmod -g 777 penguin
( penguin グループIDを777に変更 )

グループを削除

 グループを削除するには、groupdel コマンドを使う。 groupdel コマンドでは登録されているグループの情報を削除する。ユーザが所属していないグループのみ削除することができる。

$ groupdel グループ名