# 運用・管理 / ユーザー認証

本製品のCLIにログインするためのユーザーアカウントの管理について説明します。

## 権限レベル

本製品のログイン用ユーザーアカウントには、それぞれ1～15の権限レベルを設定することができます。権限レベルは、該当ユーザーが特権EXECモードに移行できるかどうか、および、特権EXECモードへの移行時に特権パスワードの入力が必要かどうかの判断に使用されます。
初期状態（特権パスワードを設定していない状態）において、権限レベルによる違いは次のとおりとなります。

表 1
権限レベル | 説明
1～6 | 非特権EXECモードコマンドのみ実行可能
7～14 | 特権EXECモードコマンド（※）を実行可能
15 | すべてのコマンドを実行可能

※ show tech-support、show boot、show file、show running-config、show startup-configなどのコマンドを除く。
Note

ユーザーアカウントより上位の権限レベルで特権EXECモードに移行する必要がある場合は、enable passwordコマンドで特権パスワードを設定しておくことで移行できるようになります。
特権EXECモードに移行する際にenableコマンドで指定する権限レベルが、ユーザーアカウントに設定した権限レベル以下であれば、次の例のように特権パスワードなしで移行することが可能です。
＜移行後の権限レベルがユーザー権限レベル以下の場合の例＞

    // 権限レベル14のユーザーlevel14を作成
    awplus(config)# username level14 privilege 14 password xxxxxxxx
    // 権限レベル14の特権パスワード未設定に（＝ 初期状態）
    awplus(config)# no enable password level 14
    awplus(config)# end
    awplus# logout

    // 権限レベル14のユーザーlevel14でログイン
    awplus login: level14 ↓
    Password: xxxxxxxx ↓（実際には表示されません）

    AlliedWare Plus (TM) X.X.X xx/xx/xx xx:xx:xx

    // enableコマンドで権限レベル13に移行
    awplus> enable 13
    // 移行先権限レベルがユーザーの権限レベル以下なので、パスワードなしで特権EXECモードへ移行可能
    awplus#

## 初期設定アカウント

初期設定では、次に示す権限レベル15のユーザーアカウント「manager」が登録されています。初期導入時の設定作業を始め、ほとんどの管理・設定作業はこのアカウントを使用して行います。

- ユーザー名：manager
- パスワード：friend

初期設定のパスワードを使い続けることはセキュリティー上好ましくありませんので、初回ログイン時に変更することをおすすめします。パスワードの変更はグローバルコンフィグモードのusernameコマンドで行います。
たとえば、パスワードを「o10moDutch」に変更するには次のようにします。

    awplus(config)# username manager password o10moDutch

Note

パスワードの設定は保存しないと再起動によって失われます。copyコマンドやwrite fileコマンド、write memoryコマンドで保存してください。詳しくは「運用・管理」の「コンフィグレーション」をご覧ください。

## ログイン時の認証方式と認証順序

本製品はログイン時のユーザー認証機構として、ユーザー認証データベースだけでなく、LDAPサーバー、RADIUSサーバー、TACACS+サーバーへの問い合わせにも対応しています。
初期状態ではユーザー認証データベースだけを使いますが、aaa authentication loginコマンドを使うことで、使用する認証方式や認証順序を自由に設定可能です。
また、ラインモードのlogin authenticationコマンドを使うことで、端末ごとに認証方式や認証順序を設定することも可能です。
詳しくは各コマンドの解説と「運用・管理」の「LDAPクライアント」、「運用・管理」の「RADIUSクライアント」をご参照ください。
Note

ログイン認証にRADIUSサーバー、TACACS+サーバーを使っている場合、先頭文字が `@ % / \` のユーザーは使用できません。

## ユーザーアカウントの管理

ユーザー認証データベースにおけるユーザーアカウントの追加、編集、削除は、グローバルコンフィグモードのusernameコマンドで行います。
Note

ユーザーアカウントの設定は保存しないと再起動によって失われます。設定が完了したら、copyコマンドやwrite fileコマンド、write memoryコマンドで保存してください。詳しくは「運用・管理」の「コンフィグレーション」をご覧ください。

Note

ログイン認証にRADIUSサーバーだけを使用している場合、ユーザーアカウントはRADIUSサーバー側で管理します。RADIUSサーバーとユーザー認証データベースを併用している場合は両方に同じ名前のユーザーを登録することが可能ですが、この場合は原則的にユーザー認証データベース側の登録内容のほうが強くなります。詳細はaaa authentication loginコマンドの「注意・補足事項」をご覧ください。

ユーザー作成時には以下の情報が必要です。各パラメーターの詳細は usernameコマンドのページをご参照ください。

表 2
情報 | パラメーター | 必須？ | 内容
ユーザー名 | username | 必須 | 半角1～64文字。使用可能な文字などの詳細は usernameコマンドのページを参照
権限レベル | privilege | 省略可（省略時は1） | 1～15から選択。通常、特権EXECモードでの作業が必要なときは15、そうでないときは1を指定する。コマンド実行時には省略可能だが、その場合は1になるため注意
パスワード | password | 必須 | 半角 1～32文字。使用可能な文字などの詳細は usernameコマンドのページを参照

Note

権限レベルの指定を省略するとレベル1になります。このユーザーは特権EXECモードへの移行権限を持ちません。ただし、enable passwordコマンドで特権パスワードを設定している場合は、権限レベルが1～14のユーザーであってもパスワードを正しく入力すれば特権EXECモードに移行できます。

ユーザーを追加するにはusernameコマンドを使います。たとえば、権限レベル15のユーザーzeinを追加し、パスワードをs69ro28nに設定するには、次のようにします。

    awplus(config)# username zein privilege 15 password s69ro28n

既存ユーザーのパスワードを変更するにはusernameコマンドを再実行します。既存ユーザーに対してusernameコマンドを実行するときは、変更するパラメーターだけを指定します。

    awplus(config)# username zein password k6NEk02yaN

Note

パスワードを変更するためにはグローバルコンフィグモードに移行する必要がありますが、そのためには特権EXECモードへの移行権限が必要です。したがって、特権EXECモードへの移行権限を持たないユーザーが自分でパスワードを変更することはできません。

ユーザーを削除するには、usernameコマンドをno形式で実行します。

    awplus(config)# no username zein

Note

削除する前に特権EXECモードに移行できるユーザーを作成していることを確認してください。特権EXECモードに移行できるユーザーがないまま保存、再起動をすると、有償での初期化が必要になります。

登録済みユーザーの一覧を確認するには、show running-configコマンドを実行します。

    awplus# show running-config | include username

パスワード暗号化サービス（service password-encryptionコマンド）が有効になっている場合（初期設定では有効）、usernameコマンドやenable passwordコマンドで設定したパスワードは暗号化された形式でコンフィグ（ランニングコンフィグやスタートアップコンフィグ）に保存されます。たとえば、次のようにして新しいユーザーを登録した場合、

    awplus(config)# username shiro privilege 15 password kuro

コンフィグ中では次のようにパスワード部分が暗号化されます。このとき、後続の文字列が暗号化されたパスワードであることを示すキーワード「8」が自動的に付加されます。

    awplus(config)# show running-config | include username shiro
    username shiro privilege 15 password 8 $1$MFyhyXX0$VU3o1ZeLe.KGDuBGsCQxh/

なお、パスワード暗号化サービスを無効にした場合、それ以降に設定・変更したパスワードはコンフィグ中にそのまま表示されます。ただし、すでに暗号化されていたパスワードは暗号化されたままで変更されません。

    awplus(config)# no service password-encryption
    awplus(config)# username shiro privilege 15 password kuro
    awplus(config)# show running-config | include username shiro
    username shiro privilege 15 password kuro

詳しくは、service password-encryptionコマンドのページをご覧ください。
現在ログインしているユーザーの一覧を確認するには、show usersコマンドを実行します。

    awplus> show users

## パスワードルールの設定

パスワード設定に関して各種のルールを設定することができます。これらは初期設定では無効になっています。
パスワードの有効期間を設定するには、security-password lifetimeコマンドを使用します。ここでは有効期間を30日に設定しています。

    awplus(config)# security-password lifetime 30

パスワードの有効期限が切れる前に警告を表示するよう設定するには、security-password warningコマンドを使用します。ここでは警告までの期間を25日に設定しています。

    awplus(config)# security-password warning 25

パスワードの有効期限が切れた状態でログインしたユーザーに変更を強制するには、security-password forced-changeコマンドを使用します。

    awplus(config)# security-password forced-change

パスワードの有効期限が切れた状態でのログインを拒否するよう設定するには、security-password reject-expired-pwdコマンドを使用します。

    awplus(config)# security-password reject-expired-pwd

パスワード履歴を記憶して、過去のパスワードの使用を禁止する機能を有効にするには、security-password historyコマンドを使用します。ここでは過去5回分のパスワードを使用禁止にしています。

    awplus(config)# security-password history 5

パスワード設定時に必須とする最低文字数を指定するには、security-password minimum-lengthコマンドを使用します。

    awplus(config)# security-password minimum-length 8

パスワードに含めなければならない文字カテゴリー（英大文字、英小文字、数字、記号）の数を設定するには、security-password minimum-categoriesコマンドを使用します。ここでは英大文字、英小文字、数字、記号のうち、少なくとも2つのカテゴリーの文字を使うことを必須としています。

    awplus(config)# security-password minimum-categories 2

作成・変更したパスワードを使い続けるべき最小有効期間（変更禁止期間）を設定するには、security-password min-lifetime-enforceコマンドを使用します。ここでは作成・変更したパスワードを少なくとも1日は使い続けることを強制しています。この間パスワードの変更はできません。

    awplus(config)# security-password min-lifetime-enforce 1

パスワードルールに関する設定を表示するには、show security-password configurationコマンドを使用します。

    awplus# show security-password configuration