login コマンド

目的

ユーザー・セッションを開始します。

構文

login [ -h HostName ] [ -p ] [ -f User | -k ] [-e Label ] [ -t Label ] [ User [ Environment ] ]

説明

login コマンド (tsm コマンドの一部) は、User パラメーターで指定されたユーザー用に、システム上でセッションを開始します。ユーザーの環境に追加される環境変数を指定することもできます。 これらのコマンドは Variable=Value のフォーマットの文字列です。login コマンドは通常はコマンド・ラインに入力されません。

まだホーム・ディレクトリーがない場合は、ログイン時のホーム・ディレクトリーを作成するように、login コマンドを構成することができます。login コマンドは mkuser.sys コマンドを呼び出してホーム・ディレクトリーを作成し、アカウントをカスタマイズします。 この機能を使用可能にするには、/etc/security/login.cfg ファイルで usw スタンザの mkhomeatlogin 属性を true に設定してください。

注:
  1. PATHIFSHOME、および SHELL 環境変数はコマンド・ラインから初期化することはできません。
  2. login コマンドはマルチバイトのユーザー名をサポートします。 あいまいさを避けるため、システム管理者はユーザー名をポータブル文字セット内の文字に制限することをお勧めします。
  3. /etc/nologin ファイルが存在する場合、システムはユーザーがログインできないようにして、 /etc/nologin ファイルの内容を表示します。このファイルが存在すると、システムは root ユーザーのログインを許可します。 /etc/nologin ファイルは、システムを再始動すると除去されます。
  4. domainlessgroups 属性が /etc/secvars.cfg ファイルに設定されている場合、すべてのグループ ID は、LDAP モジュールからフェッチされ、ユーザーがこれらのドメインのいずれかに属しているときはファイル・モジュールからフェッチされます。

login コマンドは、1024 文字までの分散コンピューティング環境 (DCE) のユーザー名を扱います。 DCE のユーザー名は、LOGIN 環境変数に保管されます。 DCE のユーザー名は標準オペレーティング・システムの必要条件に適合していないので、すべての標準オペレーティング・システムのファイルおよび環境では、DCE のユーザー名の最初の 8 文字が保管されます。

login コマンドは次の機能を実行します。

項目 説明
アカウントの検査 login コマンドはユーザーのアカウントの妥当性を検査することにより、認証されていることの確認、正当に許可されたログインの確認、およびログインに使用されるポートの容量の確認を行います。
ユーザーの認証 login コマンドは、各ユーザーに対してシステム定義の認証方式を使うことによってユーザーの身元を確認します。 パスワードが期限切れである場合は、ユーザーは新しいパスワードを与えなければなりません。 2 次認証方法が定義される場合、これらの方法は呼び出されますが、システムへのログインが正常に終了している必要はありません。
クリデンシャルの確立 login コマンドはユーザー・データベースからユーザーの初期のクリデンシャルを確立します。 これらのクリデンシャルは、システム上でのユーザーのアクセス権と責任能力を定義します。
セッションの開始 login コマンドはユーザーのデータベース、コマンド・ライン、そして /etc/environment 構成ファイルからユーザー環境を初期化します。 また、現行ディレクトリーをユーザーのホーム・ディレクトリー (通常は) に変更してユーザーの初期プログラムを実行します。

これらの機能はこの順序で実行され、いずれかが失敗すると、その後に続く機能は実行されません。

ユーザーがログインに成功すると、login コマンドは現行ユーザー・ログインを追跡する /etc/utmp ファイル内、およびアカウント処理に使用される /var/adm/wtmp ファイル内にエントリーを作成します。 また、login コマンドは 2 つの環境変数 LOGINLOGNAME を設定します。

正常終了しなかったログインに関する情報は、/etc/security/failedlogin ファイルに記録されます。 保管される情報は、/etc/utmp ファイルに入っている情報と同じですが、認識不可能なユーザー名が UNKNOWN_USER として記録される点が違います。このチェックにより、例えば、偶然にユーザー名として入力されたパスワードで暗号化されていないシステムに入ることができないようにします。

ログインが正常に終了すると、login コマンドは、その日のメッセージ、このアカウントに対して前回成功したログインと不成功に終わったログインの日付と時刻、前回ログインが正常に終了した後にこのアカウントに対して行ったログインのうち不成功に終わった合計数を表示します。 ユーザーのホーム・ディレクトリーに .hushlogin ファイルがある場合は、これらのメッセージの表示が抑制されます。

login コマンドはまた、ログイン・ポートの所有権をユーザーに変更します。 これは、 /etc/security/login.cfg ファイルに同義語として記述されたポートを含みます。

システムの保全性を保持するために、セッションは一度に 1 つしかポートにログインできません。このチェックは、元のセッションと新しいログイン・セッションの両方が同じポート上にあることになるため、シェル・プロンプトから入力された login コマンドが正常に終了できないことを意味します。ただし、新しいシェルが現在のシェルを置き換えるので、exec login コマンドは正常に終了できます。一般に、login コマンドは組み込みシェル・コマンドで、シェルがシェル自身を置き換えるようにします。

Trusted AIX® システムでは、ユーザー名と一緒に -e フラグ付きのラベルを指定して、ログイン時に有効機密ラベル (SL) を指定することができます。ログイン時に有効保全ラベル (TL) を指定するには、-t フラグを使用してラベルを指定します。

ラベルにスペースがある場合は、ラベルを引用符で囲んで指定します。デフォルトのログイン SL および TL は、ユーザー属性として /etc/security/user ファイル内に定義されます。 ラベル属性がファイル内に指定されていない場合は、デフォルトのスタンザに定義されているラベル属性が使用されます。

ユーザーが指定するラベルは、ユーザーのクリアランスにより左右され、システムの認定範囲内に含まれている必要があります。 ログイン時に -e フラグ付きの SL および -t フラグ付きの TL を指定することができます。ラベル付けネットワークでは、ログインがコンソールを使用して行われない限り、-e または -t フラグを用いて指定したラベルに関係なく、ネットワークのラベルがユーザーに割り当てられます。

ユーザーの SL クリアランスは、/etc/security/login.cfg ファイル内の TTY デバイスに対して定義されている範囲内でなければなりません。ユーザーの有効 TL は、TTY の TL と同じでなければなりません。ログインが正常に行われた後で、クリアランスがログイン・ポートに割り当てられます。

ヒント:
端末での表示が大文字のみである場合を除いて、ユーザー名に大文字のみを使用しないでください。

マルチバイトのユーザー名でログインするには、最初に日本語ウィンドウ (aixterm) をオープンして、ここから新規ログインを開始します。

フラグ

項目 説明
-eLabel Trusted AIX システムへのログインに使用される有効機密ラベルを指定します。
制約事項: -e フラグは、Trusted AIX が稼働するシステムにのみ適用されます。
-f User 認証済みのユーザーを識別します。 ログイン・プロセスの実際の ID が root (0) の場合は、ユーザーの認証は行われません。
-h HostName ログインをリモート・ログインとして識別し、ログインを要求するシステムの名前を HostName 変数で指定します。このフォーマットのログインは、telnetd および rlogind デーモンでのみ使用されます。
-k Kerberos 認証を使用するものとしてログインを識別し、ログインに /usr/bin/k5dcelogin に制御を渡させて、認証をハンドルさせます。 このフォーマットのログインは、krshd デーモンでのみ使用されます。
-p CuAt/PdAt オブジェクト・クラスのデータベースに入っているタイプの代わりに、$TERM 環境変数の値を設定して、現在のターミナル・タイプを保存します。
-t Label Trusted AIX システムへのログインに使用される有効保全ラベルを指定します。
制約事項: -t フラグは、Trusted AIX が稼働するシステムにのみ適用されます。

セキュリティー

login コマンドは PAM 使用可能アプリケーションで、login というサービス名を持っています。 認証に PAM を使用するシステム規模の構成は、 /etc/security/login.cfgusw スタンザにある auth_type 属性の値を、root ユーザーと同じ PAM_AUTH に変更することにより、設定されます。

PAM が使用可能になっているときに使用される認証メカニズムは、/etc/pam.conf の中のログイン・サービスの構成によって異なります。login コマンドは、auth モジュール・タイプ、account モジュール・タイプ、 password モジュール・タイプ、および session モジュール・タイプについて、 /etc/pam.conf エントリーが必要です。ログイン・サービスの /etc/pam.conf でお勧めする構成は、以下のとおりです。
#
# AIX login configuration
#
login auth required /usr/lib/security/pam_aix

login account required /usr/lib/security/pam_aix

login session required /usr/lib/security/pam_aix

login password required /usr/lib/security/pam_aix

  1. ユーザー jamesd としてシステムにログインするには、ログイン・プロンプトで次のように入力します。
    login: jamesd
    パスワードが定義されていれば、パスワード・プロンプトが表示されます。 このプロンプトが表示されたら、パスワードを入力してください。
  2. Trusted AIX システムで、TOP SECRET という有効 SL を用いて、ユーザー james としてシステムにログインするには、次のコマンドを入力します。
    login: james -e “TOP SECRET”
  3. SECRET という有効 SL および TOP SECRET という有効 TL を用いてログインするには、次のコマンドを入力します。
    login: james -e “TOP SECRET” -t “TOP SECRET”
  4. コマンド・ラインでは、次のコマンドを使用できます。
    $ login -e “TOP SECRET” james

ファイル

項目 説明
/usr/sbin/login login コマンドが入っています。
/etc/utmp アカウント情報が入っています。
/var/adm/wtmp アカウント情報が入っています。
/etc/motd 当該日のメッセージが入っています。
/etc/passwd パスワードが入っています。
$HOME/.hushlogin ログイン・メッセージの表示を抑制します。
/etc/environment ユーザー環境構成情報が入っています。
/etc/security/login.cfg ポートの同義語が入っています。
/etc/security/lastlog 正常終了および異常終了した直前の各ログイン試行に関する情報が入っています。
/etc/security/failedlogin 異常終了した各ログインに関する情報が入っています。
/etc/security/enc/LabelEncodings Trusted AIX システムのラベル定義が入っています。