Menu Close
Settings Close

Language and Page Formatting Options

Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

3.4. コマンドラインツールを使用したユーザーの管理

コマンドラインでユーザーを管理する場合は、useraddusermoduserdel、または passwd のコマンドが使用されます。影響を受けるファイルには、ユーザーアカウント情報を格納する /etc/passwd と、セキュアなユーザーアカウント情報を格納する /etc/shadow が含まれます。

3.4.1. ユーザーの作成

useradd ユーティリティーは、新しいユーザーを作成して、システムに追加します。以下の短い手順に従って、UID でデフォルトのユーザーアカウントを作成し、デフォルトユーザー設定を保存するホームディレクトリー( /home/username/ )を作成し、デフォルトのシェルを /bin/bash に設定します。
  1. ユーザー 名を任意の名前で置き換える root として、シェルプロンプトで以下のコマンドを実行します。
    useradd username
  2. パスワードのロック解除を行い、アカウントのロックを解除します。プログラムが要求されたら、パスワードを 2 回入力します。
    passwd

例3.1 デフォルト設定を使用したユーザーの作成

~]# useradd robert
~]# passwd robert
Changing password for user robert
New password: 
Re-type new password:
passwd: all authentication tokens updated successfully.
useradd robert コマンドを実行すると、robert という名前のアカウントが作成されます。cat /etc/passwd を実行して /etc/passwd ファイルの内容を表示する場合は、表示された行から新規ユーザーの詳細を確認できます。
robert:x:502:502::/home/robert:/bin/bash
robert には 502 という UID が割り当てられました。これは、0 から 499 までのデフォルトの UID 値がシステムアカウント用に予約されるルールを反映しています。GID、User Private Group のグループ ID は UID に等しくなります。ホームディレクトリーは /home/robert に、ログインシェルを /bin/bash に設定します。X の文字 、シャドウパスワードが使用され、ハッシュ化されたパスワードが /etc/shadow に保存されることを示唆します。
アカウントの作成時にユーザーの基本デフォルト設定を変更する場合は、useradd の動作を変更するコマンドラインオプションのリストから選択できます(オプションの一覧は、man ページの useradd(8)を参照してください)。コマンドの基本的な構文で分かるように、オプションを 1 つ以上追加できます。
useradd [option(s)] username
システム管理者は、-c オプションを使用して、作成時にユーザーのフルネームなどを指定できます。-c の後に文字列を付けて、ユーザーにコメントを追加します。
useradd -c "string" username

例3.2 ユーザー作成時のユーザーのフルネームの指定

~]# useradd -c "Robert Smith" robert
~]# cat /etc/passwd
robert:x:502:502:Robert Smith:/home/robert:/bin/bash
ユーザー名 robert でユーザーアカウントが作成されている。ログイン名およびフルネーム Robert Smith で作成されていること。
ユーザーアカウントにデフォルトの /home/ ユーザー/ ディレクトリーを作成したくない場合は、その代わりに別のユーザー名を設定します。以下のコマンドを実行します。
useradd -d home_directory

例3.3 デフォルト以外のホームディレクトリーでのユーザーの追加

~]# useradd -d /home/dir_1 robert
robert のホームディレクトリーはデフォルトの /home/robert ではなく、/home/dir_1/ です
ユーザーのホームディレクトリーを作成したくない場合は、useradd-M オプションを指定して実行できます。ただし、このようなユーザーが起動したばかりのシステムにログインし、ホームディレクトリーが存在しない場合は、ログインディレクトリーは root ディレクトリーになります。このようなユーザーが su コマンドを使用してシステムにログインすると、ログインディレクトリーは以前のユーザーの現在のディレクトリーになります。
useradd -M username
新規ユーザーの作成時にディレクトリーコンテンツを /home ディレクトリーにコピーする必要がある場合は、-m オプションと -k オプションの後にパスを指定して実行します。

例3.4 ホームディレクトリーへのコンテンツのコピー時のユーザーの作成

以下のコマンドは、/dir_1 という名前のディレクトリーの内容を /home/jane にコピーします。これは、新しいユーザー jane のデフォルトのホームディレクトリーです。
~]# useradd -m -k /dir_1 jane
システム管理者は、一時的なアカウントを作成する必要がある場合があります。useradd コマンドを使用すると、特定の期間だけアカウントを作成し、特定日に無効にすることができます。特定のアカウントの削除にセキュリティー上のリスクがあるため、これは特に便利な設定です。このため、-e オプションは、YYYY-MM-DD 形式で指定された expire_date とともに使用されます。
注記
アカウントの有効期限とパスワードの有効期限を混同しないようにしてください。アカウントの有効期限は特定の日付で、アカウントが存在しなくなったため、アカウントにログインできなくなります。パスワードの有効期限、パスワード作成またはパスワード変更の最大有効期間と日付は、パスワードを使用してログインできない場合は日付になります(ただし、SSH キーを使用してログインする場合など)。
useradd -e YYYY-MM-DD username

例3.5 アカウントの有効期限の設定

~]# useradd -e 2015-11-05 emily
このアカウントは今後作成され、2015 年 11 月 5 日に自動的に無効になります。
ユーザーのログインシェルのデフォルトは /bin/bash ですが、-s オプションで bash、ksh、csh、tsh とは異なるシェルに変更できます。
useradd -s login_shell username

例3.6 デフォルト以外のシェルでユーザーの追加

~]# useradd -s /bin/ksh robert
このコマンドは、/bin/ksh シェルを持つ robert ユーザーを作成します。
-r オプションは、一部の root 権限ではなく、管理者が使用するアカウントとなるシステムアカウントを作成します。このようなアカウントは、/etc/login.defs で定義された UID_MIN の値よりも低い値を持ちます(通常は通常のユーザーの場合 500 以上)。
useradd -r username