25.5. コマンドラインの設定

コマンドラインツールを好む場合や、又はX Window Systemがインストールされていない場合、 この章の内容を使用してユーザーとグループの設定をして下さい。

25.5.1. ユーザーの追加

システムにユーザーを追加するには、以下のようにします:

  1. useraddコマンドを発行してロックされた ユーザーアカウントを作成します:

    useradd <username>
  2. passwdコマンドでパスワードを入れ、パスワードの 経年変化ガイドラインを設定して、アカウントをアンロックします:

    passwd <username>

useradd用のコマンドラインオプションは 表25-1に示してあります。

オプション説明
-c コメントユーザー用のコメント
-d ホームディレクトリデフォルトの/home/ユーザー名の 代わりに使うホームディレクトリ
-e 日付アカウントが無効になる日付をYYYY-MM-DD形式で設定
-f 日数パスワードが失効になってからアカウントが無効になるまでの日数。 (0が指定されると、パスワードが失効になるとすぐに アカウントが無効になります。-1が指定されると、 パスワード失効の後でもアカウントは無効になりません)。
-gグループ名ユーザーのデフォルトグループ用のグループ名、又は グループ番号。(グループは指定できる前に存在する必要があります)。
-G グループリストユーザーが メンバーである追加の(デフォルト以外の)グループ名、又はグループ番号が、コンマで 区切られている一覧。(グループは指定できる前に存在する必要があります)。
-mホームディレクトリがない場合は、それを作成する。
-Mホームディレクトリを作成しない。
-nユーザー用にユーザーのプライベートグループを作成しない。
-r500以下のUIDで、ホームディレクトリのないシステムアカウントを 作成する。
-p パスワードcryptコマンドで暗号化されたパスワード。
-s/bin/bashがデフォルトのユーザーログインシェル。
-u uidユーザー用のユーザーID、ユニークで499以上であることが必要。

表 25-1. useraddのコマンドラインオプション

25.5.2. グループの追加

システムにグループを追加するには、groupaddコマンドを 使用します:

groupadd <group-name>

groupadd用のコマンドラインオプションは表25-2に示してあります

オプション説明
-g グループIDグループ用のグループID、ユニークで499以上であることが必要。
-r500以下のGIDでシステムグループを作成する。
-fグループが既に存在する場合は、エラーで終了。(グループは変更されません)。 -g-fが指定されて、グループが既に ある場合には、-gオプションは無視されます。

表 25-2. groupaddコマンドラインオプション

25.5.3. パスワードの経年変化

セキュリティの目的でユーザーが定期的にパスワードを変更するように要求する ことは良い対策です。これはユーザーマネージャパスワード情報タブ上でユーザーの追加、又は編集する ことで達成されます。

シェルプロンプトからユーザーのパスワード失効日を設定するには、chage コマンドを使用し、続けて表25-3にあるオプションの1つと そのユーザーのユーザー名を入力します。

誓要項目重要
 

chageコマンドを使用するには、シャドウパスワードが有効になっている 必要があります。

オプション説明
-m 日数ユーザーがパスワードを変更する必要が出る最低期間を日数で指定。 値が0の場合はパスワードは失効になりません。
-M 日数パスワードが有効である最大期間を日数で指定。このオプションで指定した 日数と-dオプションで指定したオプションの合計が現在の日より 小さい場合、ユーザーはアカウントを使用する前に自己のパスワードを変更する 必要があります。
-d 日数パスワードが変更される時期を1970年1月1日からの日数で指定
-I 日数パスワード失効からアカウントロックまでの無活動の期間を日数で指定。 値が0の場合は、パスワード失効の後でもアカウントはロックされません。
-E 日付YYYY-MM-DD形式で、アカウントがロックされる日付を指定。日付の代わりに 1970年1月1日からの日数でも使用可能。
-W 日数パスワードの失効日前にユーザーに警告する日数を指定。

表 25-3. change コマンドラインオプション

ティップヒント
 

chageコマンドのすぐ後に、ユーザー名(オプションなし)があれば、 現在のパスワード経年変化の値を表示し、変更を可能にします。

システム管理者はユーザーが最初のログインでパスワードを設定するようにしたい場合は、 ユーザーのパスワードをすぐに失効させて、ユーザーに最初のログイン直後にパスワードを 変更させるように設定できます。

最初のログイン後に、ユーザーにコンソールでパスワードを設定させる場合は、 以下のステップに従って下さい。SSHプロトコルでユーザーがログインをしている 場合は、このプロセスは実行できないことに注意して下さい。

  1. ユーザーパスワードをロックする — ユーザーが存在 しない場合、useraddコマンドを使用して、ユーザー アカウントを作成します。しかし、パスワードは与えないでロックされた ままにしておきます。

    パスワードがすでに有効になっている場合は、次のコマンドでそれを ロックします:

    usermod -L username
  2. すぐにパスワード失効を強制する — 次のコマンドを入力します:

    chage -d 0 username

    このコマンドは最後にパスワードが変更された期日の値をエポック(1970年1月1日)に セットします。パスワードの経年変化ポリシーに関係なく、この値が即時にパスワードの 失効を強制します。

  3. アカウントをアンロック —2つのアプローチが このステップにあります。管理者は、初期パスワードを割り当てるか、又は 無効なパスワードを割り当てます。

    警告警告
     

    passwdコマンドは、設定したばかりのパスワード失効を無効に しますので、passwdコマンドを使用したパスワードの 設定はしないで下さい。

    初期パスワードを割り当てるには、以下のステップに従います:

    • pythonコマンドでコマンドラインpython インタプリタを開始します。以下が表示されます:

      Python 2.2.2 (#1, Dec 10 2002, 09:57:09)
      [GCC 3.2.1 20021207 (Red Hat Linux 8.0 3.2.1-2)] on linux2
      Type "help", "copyright", "credits" or "license" for moreinformation.
      >>>
    • プロンプトで、以下を入力します(passwordには、 暗号化するパスワードで入れ換え、そしてsaltには ab12の 様にちょうど2つの大文字、又は小文字の英文字、数字、ドット(.)記号、スラッシュ(/) 記号等の組合せで入れ換えます):

      import crypt; print crypt.crypt("password","salt")

      その出力は、12CsGd8FRcMSMのような 暗号化されたパスワードになります。

    • [Ctrl]-[D]を押して、Pythonインタプリタを 終了します。

    • 前後に空白のない状態で、カットアンドペーストで暗号化したパスワード出力をそのまま 次ぎのコマンドに張り付けます:

      usermod -p "暗号化したパスワード" ユーザー名

    初期パスワードを割り当てる代わりに、以下のコマンドで 無効なパスワードを割り当てることもできます:

    usermod -p "" ユーザー名

    注意用心
     

    無効なパスワードを使用するのは、ユーザーにとっても管理者にとっても 便利なことですが、第三者が最初にログインしてシステムにアクセスすると 言うリスクが少々あります。このような脅威を最小限に保つには、管理者は アカウントがアンロックされる時点でユーザーがログインの準備が出来て いるかを確認することが推奨されます。

    どちらの場合も、初期ログインでユーザーは新しいパスワードを 要求されます。