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 モジュールがユーザーのシェルの変更をサポートしていない場合は、 エラーが表示されます。
例
- ユーザーのシステムへのログイン後に実行するシェルを変更するには、
次のように入力します。
次のような情報が表示されます。chsh
change (y/n)? プロンプトの後に y を入力して変更を行うことを指定します。 次に、to? プロンプトが表示されたら、次の例のように必要なシェルの名前を追加してください。current available shells: /usr/bin/sh /usr/bin/bsh /usr/bin/csh /usr/bin/ksh: current login shell: /usr/bin/ksh change (y/n)? >
次にログインすると、/usr/bin/csh シェルが表示されます。change (y/n)? > y to? > /usr/bin/csh - kim のシェルを /usr/bin/ksh に変更するには、次のように入力します。
chsh kim /usr/bin/ksh - LDAP I&A ロード可能モジュールで定義されたユーザー davis のシェルを変更するには、
次のように入力します。
chsh -R LDAP davis
ファイル
| 項目 | 説明 |
|---|---|
| /usr/bin/chsh | chsh コマンドまでのパスを指定します。 |
| /usr/bin/chuser | ユーザー情報を変更します。 |
| /etc/passwd | 基本ユーザー属性が入っています。 |
| /etc/security/login.cfg | ログイン構成情報が入っています。 |