su コマンド
目的
セッションに関連するユーザー ID を変更します。
構文
su [ - ] [ Name [ Argument ... ] ]
説明
以下の機能が、su コマンドで実行されます。
項目 | 説明 |
---|---|
アカウントの検査 | ユーザー・アカウントが存在すること、ユーザー・アカウントが su コマンドに対し使用可能であること、現行ユーザーが su コマンドでこのアカウントに切り替えが許可されているグループ内にあること、およびそのユーザー・アカウントが現行制御端末から使用できることを確認します。 |
ユーザーの確認 | システム定義されたユーザー用の 1 次確認メソッドを使用して、ユーザー ID を確認します。 パスワードが期限切れである場合は、ユーザーは新しいパスワードを与えなければなりません。 |
クレデンシャルの確定 | ユーザー・データベース内の値を使用して、初期ユーザー・クレデンシャルを確定します。 これらのクレデンシャルは、ユーザーのアクセス権とシステム上での責任能力を定義します。 |
セッション開始 | - フラグが指定されると、su コマンドはユーザー・データベース内の値、および /etc/environment ファイルの値を基にしてユーザー環境を初期化します。 - フラグが使用されないと、su コマンドはディレクトリーを変更しません。 |
これらの機能は、上記の順序で実行されます。 ある機能が異常終了すると、次の機能は実行されません。 これらの機能のセマンティクスについては、 ckuseracct、 ckuserID、 authenticate、 setpcred、 および setpenv の各サブルーチンを参照してください。
前のセッションを復元するには、exit を入力するか、または Ctrl-D キー・シーケンスを押します。 このアクションは、su コマンドによって呼び出されたシェルを終了し、前のシェル、前のユーザー ID、前の環境に戻します。
su コマンドが /usr/bin/tsh シェル、つまりトラステッド・シェルから実行された場合は、ユーザーはシェルを終了します。 su コマンドは、制御端末のセキュリティー特性を変更しません。
su コマンドが実行されるたびに、/var/adm/sulog ファイル内にエントリーが作成されます。 /var/adm/sulog ファイルは、日付、時刻、システム名、ログイン名の情報を記録します。 さらに /var/adm/sulog ファイルは、そのログインの試行が成功したかどうかも記録します。 + (正符号) はログインが成功したことを示し、- (負符号) はログインが成功しなかったことを示します。
フラグ
項目 | 説明 |
---|---|
- | ユーザーが login コマンドを使ってシステムにログインしたかのような処理環境を設定するように指定します。
新しいシェルには、現在の環境は伝搬されません。
注: この動作は、Name パラメーターの前にフラグ・オプションが許容される代替 UNIX シェル環境との互換性を意図しています。
|
セキュリティー
su コマンドは、サービス名 su
の PAM 使用可能アプリケーションです。
root ユーザーとして、
/etc/security/login.cfg の usw
スタンザにある auth_type 属性の値を PAM_AUTH
に変更すると、認証に PAM を使用するシステム全体の構成が設定されます。
su
サービスの構成によって異なります。
su コマンドでは、auth
、account
、
password
、および session
のモジュール・タイプに
/etc/pam.conf エントリーが必要です。
PAM 認証を使用する場合に su コマンドが標準 AIX® 認証の場合と同様に振る舞うようにするには、pam_aix より前に、auth
と account
の両方の su サービス・スタックで pam_allowroot
モジュールを呼び出して使用すれば十分なはずです。
/etc/pam.conf における su
サービス用の推奨構成を次にリストします。
#
# AIX su configuration
#
su auth sufficient /usr/lib/security/pam_allowroot
su auth required /usr/lib/security/pam_aix
su account sufficient /usr/lib/security/pam_allowroot
su account required /usr/lib/security/pam_aix
su session required /usr/lib/security/pam_aix
su password required /usr/lib/security/pam_aix
- 現行ユーザーの最大クリアランスは、新規ユーザーの最大クリアランスより優勢でなければならない。
- 新規ユーザーの最小クリアランスは、現行ユーザーの最小クリアランスより優勢でなければならない。
- 現行ユーザーの有効なクリアランスは、新規ユーザーの最大クリアランスより劣勢であり、新規ユーザーの最小クリアランスより優勢でなければならない。
例
- root ユーザー権限を取得するには、以下のいずれかのコマンドを入力します。
このコマンドは、root ユーザーの実効ユーザー ID と特権を使用してサブシェルを実行します。 ユーザーは root パスワードを求められます。 サブシェルを終了し、元のシェル・セッションと元の特権に戻るには、EOF、Ctrl+D キー・シーケンスを押します。su
このコマンドは、root ユーザーの実効ユーザー ID と特権を使用して、サブシェルを実行します。プロンプトが出たら、root パスワードを入力します。サブシェルを終了し、元のシェル・セッションと元の特権に戻るには、EOF、Ctrl+D キー・シーケンスを押します。su --
- jim ユーザーの特権を取得するには、次のコマンドを入力します。
このコマンドは、jim の実効ユーザー ID と特権を指定してサブシェルを実行します。su jim
- ユーザー jim としてログイ
ンしたかのように環境を設定するには、以下のように入力します。
このコマンドは、jim のログイン環境でサブシェルを開始します。
su - jim - root ユーザー権限でバックアップ・コマンドを実行し、
元のシェルに戻るには、以下のように入力します。
このコマンドは、root ユーザー権限を使用して、root のデフォルト・シェル内で backup コマンドを実行します。このコマンドを実行するためにパスワードを照会されたら、正確な root パスワードを指定しなければなりません。su root "-c /usr/sbin/backup -9 -u"
- 現行セッションのユーザー資格情報を root ユーザーに変更するには、以下のいずれかのコマンドを入力します。
su -
su - root
su - --
上記のコマンドは、root ユーザーのログイン環境を使用してサブシェルを始動します。
ファイル
項目 | 説明 |
---|---|
/usr/bin/su | su コマンドが入っています。 |
/etc/environment | ユーザー環境値が入っています。 |
/etc/group | 基本グループ属性が入っています。 |
/etc/passwd | 基本ユーザー属性が入っています。 |
/etc/security/user | 拡張ユーザー属性が入っています。 |
/etc/security/environ | ユーザーの環境属性が入っています。 |
/etc/security/limits | ユーザーのプロセス・リソース制限が入っています。 |
/etc/security/passwd | パスワード情報が入っています。 |
/var/adm/sulog | ログイン試行に関する情報が入っています。 |
/etc/security/enc/LabelEncodings | Trusted AIX システムのラベル定義が入っています。 |