chsh コマンド

目的

ユーザーのログイン・シェルを変更します。

構文

chsh [ -R load_module ] [ Name  [ Shell ] ]

説明

chsh コマンドは、ユーザーのログイン shell 属性を変更します。shell 属性は、システムへのユーザーのログイン後に実行される初期プログラムを定義します。この属性は、/etc/passwd ファイル内に指定されます。デフォルトでは、chsh コマンドはコマンドを入力したユーザーのログイン・シェルを変更します。

chsh コマンドは対話式です。chsh コマンドを実行すると、使用可能なシェルのリストと shell 属性の現在の値が表示されます。次に、シェルの変更を促すシステム・プロンプトが表示されます。 使用可能なシェルの絶対パス名を入力する必要があります。

chuser コマンドの実行許可を持っている場合は、別のユーザーのログイン・シェルを変更することができます。別のユーザーのログイン・シェルを変更するには、Name パラメーターを指定します。有効なシェルは、/etc/security/login.cfg ファイルの usw スタンザ内に定義されます。有効なシェルのデフォルトのリストは /usr/bin/ksh/usr/bin/sh/usr/bin/bsh/usr/bin/csh ですが、システム管理者がシェルをさらに定義している場合もあります。

代替の識別と認証 (I&A) メカニズムを使用して作成されているユーザーの場合は、 -R フラグを使用してユーザーの作成に使用する I&A ロード可能モジュールを指定することができます。 ロード・モジュールは、/usr/lib/security/methods.cfg ファイルに定義されています。

フラグ

項目 説明
-R load_module ユーザーのシェルの変更に使用するロード可能 I&A モジュールを指定します。

終了状況

このコマンドは次の終了値を戻します。
項目 説明
0 コマンドは正常に実行され、要求された変更はすべて完了しました。
>0 エラーが発生しました。 障害のタイプの詳細については、出力されたエラー・メッセージを参照してください。

セキュリティー

アクセス制御

プログラムは独自のアクセス・ポリシーを実行するので、 このコマンドの実行 (x) アクセス権をユーザー全員が持つ必要があります。 このコマンドは、トラステッド・コンピューティング・ベース (TCB) 内のプログラムとしてインストールしてください。 このコマンドは、setgid (SGID) ビットが設定されている security グループが所有する必要があります。

アクセスするファイル

モード ファイル
x /usr/bin/chuser
r /etc/security/login.cfg
rw /etc/passwd

RBAC ユーザーと Trusted AIX® ユーザーへの注意: このコマンドは特権命令を実行できます。特権命令を実行できるのは特権ユーザーのみです。 権限および特権の詳細情報については、「セキュリティー」の『特権コマンド・データベース』を参照してください。このコマンドに関連した特権および権限のリストについては、lssecattr コマンドまたは getcmdattr サブコマンドの項を参照してください。

制限

すべてのロード可能 I&A モジュールがユーザーのシェルの変更をサポートしているわけではありません。 ロード可能 I&A モジュールがユーザーのシェルの変更をサポートしていない場合は、 エラーが表示されます。

  1. ユーザーのシステムへのログイン後に実行するシェルを変更するには、 次のように入力します。
    
    chsh
    次のような情報が表示されます。
    current available shells:
     /usr/bin/sh
     /usr/bin/bsh
     /usr/bin/csh
     /usr/bin/ksh:
    current login shell:
     /usr/bin/ksh
    change (y/n)? >
    change (y/n)? プロンプトの後に y を入力して変更を行うことを指定します。 次に、to? プロンプトが表示されたら、次の例のように必要なシェルの名前を追加してください。
    change (y/n)? > y
    to? > /usr/bin/csh
    次にログインすると、/usr/bin/csh シェルが表示されます。
  2. kim のシェルを /usr/bin/ksh に変更するには、次のように入力します。
    
    chsh kim /usr/bin/ksh
  3. LDAP I&A ロード可能モジュールで定義されたユーザー davis のシェルを変更するには、 次のように入力します。
    chsh -R LDAP davis

ファイル

項目 説明
/usr/bin/chsh chsh コマンドまでのパスを指定します。
/usr/bin/chuser ユーザー情報を変更します。
/etc/passwd 基本ユーザー属性が入っています。
/etc/security/login.cfg ログイン構成情報が入っています。