25.3. ユーザーとグループの管理コマンド

ここでは、システム管理者である root ユーザーが、ユーザーやグループを管理するために実行するコマンドについて解説します。通常は、ここで解説するコマンドを使用して、ユーザーやグループの管理を行いますが、KDE に収録されている kuser を利用すれば、グラフィカルなインターフェースでユーザーとグループを管理することもできます。

25.3.1. ユーザーの管理

新規ユーザーアカウントの追加 - useradd

新規ユーザーアカウントを追加するには、useradd コマンドを使用します。追加したユーザーの情報は、 管理ファイルである /etc/passwd、/etc/shadow、/etc/group に反映されます。useradd コマンドの書式は以下の通りです。

# useradd [option] user

例えば、taro というユーザーを追加するには、以下のようにコマンドを実行します。

# useradd taro

Turbolinux 10 Server では、ユーザー名を指定するだけで、新規ユーザー、およびユーザーのホームディレクトリ(この例では、/home/taro)が自動的に作成されます。なお、useradd コマンドのデフォルト情報は、/etc/default/useradd で定義されています。

また、Turbolinux 10 Server では、新規ユーザーを追加すると同時に、ユーザーと同じ名前のグループが作成され、そのグループをプライマリグループとします。新規ユーザーのプライマリグループを既存のグループに設定したい場合は、-g オプションを指定してコマンドを実行します。例えば、taro という新規ユーザーを追加する際に、既存の turbo というグループに taro を登録するには、以下のコマンドを実行します。

# useradd -g turbo taro

追加した新規ユーザーでシステムにログインするには、passwd コマンドを実行してユーザーのパスワードを設定する必要があります。

その他、useradd コマンドで指定可能な主なオプションを以下に示します。

表 25-1. useradd コマンドのoption

-u UID追加するユーザーの UID を指定します。
-g default_group追加するユーザーのプライマリグループを指定します。
-c commentユーザー情報を指定します。通常は、ユーザーのフルネームを指定します。
-d home_dirユーザーのホームディレクトリを指定します。省略時は、/home/user が指定されます。
-m [-k skeleton_dir]ユーザーのホームディレクトリが存在しない場合は作成し、skeleton_dir で指定されたディレクトリ以下のファイルをホームディレクトリにコピーします。省略時は、/etc/skel ディレクトリが使用されます。Turbolinux 10 Server では、この動作がデフォルトのため、このオプションを指定する必要はありません。
-s shellユーザーのログインシェルを指定します。

パスワードの設定と変更 - passwd

ユーザーのパスワードを設定、変更するには passwd コマンドを使用します。設定したパスワードは、シャドウパスワードの管理ファイルである /etc/shadow に反映されます。root ユーザーは、全ユーザーのパスワードを設定、変更できますが、一般ユーザーは自分のパスワードのみ変更することができます。passwd コマンドの書式は以下の通りです。

# passwd [option] [user]

ティップ

user にユーザー名の指定を省略しコマンドを実行した場合は、自分のパスワードを変更します。

例えば、root ユーザーが、taro というユーザーのパスワードを設定するには、以下のようにコマンドを実行します。

# passwd taro
Changing password for user taro.
New UNIX password:

このように表示されたところで、パスワードを入力します。一般ユーザーがパスワードを変更する場合は、古いパスワードの入力を要求されます。

Retype new password:

確認のため、もう一度同じパスワードを入力します。

passwd: all authentication tokens updated successfully.

パスワードの設定が成功したことを告げるメッセージが表示されます。

注意

パスワードとして好ましくない文字列を入力すると警告が表示される場合があります。短いパスワードや他人に推測されやすい文字列は設定すべきではありません。

その他、passwd コマンドの主なオプションを以下に示します。これらのオプションは、root ユーザーが一般ユーザーのパスワードに対して使用期限を設定するためのものです。

表 25-2. passwd コマンドのoption

-n mindaysユーザーに新しいパスワードを保持させる日数を指定します。この日数を経過しなければ、パスワードを変更することはできません。
-x maxdaysユーザーが同じパスワードを使用できる日数を指定します。この日数を経過したら、パスワードを変更しなければなりません。
-w warndaysパスワードの使用期限が近づいたことを、何日前からユーザーに通知するかを指定します。
-i inactivedaysパスワードの使用期限が切れてから、何日間アカウントを使用することを許可するかを指定します。この期間にユーザーがログインを試みると、パスワードを変更を強制されます。この期間にユーザーがパスワードを変更しなかった場合、自動的にアカウントは使用不可となります。
-lユーザーのパスワードをロックして、使用不可にします。
-uロックしたパスワードを使用可能な状態に戻します。

例えば、ユーザー taro のパスワードに以下のような使用期限を設定したものとします。

# passwd -n 10 -x 30 -w 7 -i 3 taro

この場合、ユーザー taro は 10 日を経過するまでは、パスワードを変更することができません。また、パスワードの有効期限を 30 日に設定しています。10 日を経過すると、パスワードの変更が可能になりますが、taro がいつまでもパスワードの変更を行わないでいると、有効期限の 30 日である 7 日前からパスワードの使用期限が近づいたことを警告するメッセージを表示します。それでも、パスワードを変更せずに有効期限を経過してしまうと、 taro は、現在のパスワードでシステムにログインできなくなります。ただし、3 日の猶予期間が設定されているため、この期間内にログインを試みた場合は、パスワードの変更を強制します。ここでパスワードを変更すれば、新しいパスワードでログインできるようになります。しかし、この猶予期間内にパスワードの変更を行わなかった場合、ユーザー taro は完全にシステムにログインできなくなります。

ユーザー情報の編集 - usermod

既存のユーザーの情報を変更するには、usermod コマンドを使用します。usermod を使用すると /etc/passwd に登録されたユーザー情報を編集することができます。usermod コマンドの書式は以下の通りです。

# usermod [option] user

例えば、ユーザー taro が所属するプライマリグループを doc へ変更するには、-g オプションを指定して以下のようにコマンドを実行します。なお、doc グループは、既に存在していなければなりません。

# usermod -g doc taro

また、taro をセカンダリグループ project1 と project2 に登録するには、以下のようにコマンドを実行します。

# usermod -G project1,project2 taro

注意

指定されていないセカンダリグループからは削除されることに注意してください。もし、ユーザー taro が project3 に所属していた場合、project3 からは削除されます。

その他、usermod コマンドの主なオプションを以下に示します。

表 25-3. usermod コマンドのoption

-l login_nameユーザー名をここで指定した新しいユーザー名に変更します。
-u uidUID を変更します。
-g groupユーザーのプライマリグループを変更します。グループ名、または GID を指定します。
-G group指定したグループにユーザーを追加します。つまり、ユーザーのセカンダリグループを登録します。複数のセカンダリグループに登録する場合は ,(カンマ)で区切ります。
-c commentユーザー情報を変更します。通常は、ユーザーのフルネームが指定されています。
-d home_dir [-m]ホームディレクトリを変更します。-m オプションを指定すると、現在のホームディレクトリの内容が変更したホームディレクトリに移動されます。
-s shellログインシェルを変更します。

ユーザーアカウントの削除 - userdel

ユーザーアカウントを削除するには、userdel コマンドを使用します。例えば、taro というユーザーを削除する場合は、以下のようにコマンドを実行します。

# userdel taro

ユーザーの削除と同時に、そのユーザーのホームディレクトリも削除するには -r オプションをつけて実行します。

# userdel -r taro

25.3.2. グループの管理

グループの追加 - groupadd

新規グループを追加するには、groupadd コマンドを使用します。追加したグループは、 /etc/groups ファイルに反映されます。例えば、turbo というグループを追加するには、以下のコマンドを実行します。

# groupadd turbo

グループを追加する際に、そのグループの GID を指定したい場合は、以下のように -g オプションを使用します。

# groupadd -g 1000 turbo

グループの編集 - groupmod

グループの情報を変更するには、groupmod コマンドを使用します。例えば、turbo というグループのグループ名を linux に変更するには、-n オプションを指定して、以下のようにコマンドを実行します。

# groupmod -n linux turbo

また、グループの GID を変更したい場合は -g オプションを使用して以下のようにコマンドを実行します。

# groupmod -g 1000 turbo

グループの削除 - groupdel

グループを削除するには、groupdel コマンドを使用します。例えば、turbo というグループを削除するには、以下のコマンドを実行します。

# groupdel turbo

ティップ

削除するグループをプライマリグループとしているユーザーが存在する場合、そのグループを削除することはできません。プライマリグループとは、/etc/passwd で定義されているグループのことです。

25.3.3. KUser の起動

統合デスクトップ環境である KDE には、ユーザーとグループの管理ツールである KUser が収録されています。KUser を使用すれば、コマンドを実行することなく、グラフィカルなインターフェースでユーザーとグループの管理が行えます。ここでは、KUser の起動するまでの手順を解説します。

KUser を起動するには、KDE のパネルにある から "プログラム" -> "システム" -> "その他" -> "Kuser(ユーザーマネージャー)" を選択します。または、X Window System 上の端末エミュレータから以下のコマンドを実行します。

# kuser

KUser が起動すると以下の管理画面が表示されます。