su コマンド

目的

セッションに関連するユーザー ID を変更します。

構文

su [ - ] [ Name [ Argument ... ] ]

説明

su コマンドは、ユーザー資格情報を root ユーザーまたは Name パラメーターで指定されたユーザーのユーザー資格情報に変更し、新しいセッションを開始します。 ユーザー名に、分散コンピューティング環境 (DCE) のセル仕様を組み込む場合があります。
注: root ユーザーは、DCE ユーザーに切り換えるときに、DCE 認証を 満たす必要がありません。この場合、ユーザーの DCE 資格情報は不要です。
Arguments パラメーターで指定されたフラグまたはパラメーターなどの引数は、Name パラメーターで指定されたユーザー用のログイン・シェルと関連付けされていなければなりません。 これらの引数は、指定されたユーザーのログイン・シェルに渡されます。 例えば、ユーザー Fred 用のログイン・シェルが /usr/bin/csh であれば、-f フラグなどの csh コマンドのフラグをすべて含めることができます。 su コマンドを実行すると、-f フラグが csh コマンドに渡されます。 csh コマンドを実行すると、-f フラグは .cshrc 始動スクリプトを省略します。
注: domainlessgroups 属性が /etc/secvars.cfg ファイルで設定されている場合、およびユーザーが Lightweight Directory Access Protocol (LDAP) ドメインまたはファイル・ドメインに属する場合、すべてのグループ ID は LDAP ドメインおよびファイル・ドメインからフェッチされます。

以下の機能が、su コマンドで実行されます。

項目 説明
アカウントの検査 ユーザー・アカウントが存在すること、ユーザー・アカウントが su コマンドに対し使用可能であること、現行ユーザーが su コマンドでこのアカウントに切り替えが許可されているグループ内にあること、およびそのユーザー・アカウントが現行制御端末から使用できることを確認します。
ユーザーの確認 システム定義されたユーザー用の 1 次確認メソッドを使用して、ユーザー ID を確認します。 パスワードが期限切れである場合は、ユーザーは新しいパスワードを与えなければなりません。
クレデンシャルの確定 ユーザー・データベース内の値を使用して、初期ユーザー・クレデンシャルを確定します。 これらのクレデンシャルは、ユーザーのアクセス権とシステム上での責任能力を定義します。
セッション開始 - フラグが指定されると、su コマンドはユーザー・データベース内の値、および /etc/environment ファイルの値を基にしてユーザー環境を初期化します。 - フラグが使用されないと、su コマンドはディレクトリーを変更しません。

これらの機能は、上記の順序で実行されます。 ある機能が異常終了すると、次の機能は実行されません。 これらの機能のセマンティクスについては、 ckuseracctckuserIDauthenticatesetpcred、 および setpenv の各サブルーチンを参照してください。

前のセッションを復元するには、exit を入力するか、または Ctrl-D キー・シーケンスを押します。 このアクションは、su コマンドによって呼び出されたシェルを終了し、前のシェル、前のユーザー ID、前の環境に戻します。

su コマンドが /usr/bin/tsh シェル、つまりトラステッド・シェルから実行された場合は、ユーザーはシェルを終了します。 su コマンドは、制御端末のセキュリティー特性を変更しません。

su コマンドが実行されるたびに、/var/adm/sulog ファイル内にエントリーが作成されます。 /var/adm/sulog ファイルは、日付、時刻、システム名、ログイン名の情報を記録します。 さらに /var/adm/sulog ファイルは、そのログインの試行が成功したかどうかも記録します。 + (正符号) はログインが成功したことを示し、- (負符号) はログインが成功しなかったことを示します。

注: su コマンドが正常に使用されると、/etc/security/lastlog ファイルにある unsuccessful_login_count 属性がリセットされます。ただし、これはユーザーの rlogin および login 属性が両方とも /etc/security/user の中でになっている場合に限ります。 それ以外の場合は、su コマンドは、unsuccessful_login_count をリセットしません。これは、管理者がユーザー・アカウントの問題を修正するために su コマンドを使用することがよくあるためです。 ユーザーは、ローカルまたはリモートのログインを用いてこの属性をリセットできます。

フラグ

項目 説明
- ユーザーが login コマンドを使ってシステムにログインしたかのような処理環境を設定するように指定します。 新しいシェルには、現在の環境は伝搬されません。
注: この動作は、Name パラメーターの前にフラグ・オプションが許容される代替 UNIX シェル環境との互換性を意図しています。

セキュリティー

su コマンドは、サービス名 su の PAM 使用可能アプリケーションです。 root ユーザーとして、 /etc/security/login.cfgusw スタンザにある auth_type 属性の値を PAM_AUTH に変更すると、認証に PAM を使用するシステム全体の構成が設定されます。

PAM が使用可能なときに使用される認証メカニズムは、 /etc/pam.conf における su サービスの構成によって異なります。 su コマンドでは、authaccount password、および session のモジュール・タイプに /etc/pam.conf エントリーが必要です。 PAM 認証を使用する場合に su コマンドが標準 AIX® 認証の場合と同様に振る舞うようにするには、pam_aix より前に、authaccount の両方の 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
RBAC ユーザーおよび Trusted AIX ユーザーへの注意: このコマンドは特権命令を実行できます。 特権命令を実行できるのは特権ユーザーのみです。 権限および特権についての詳細情報は、「セキュリティー 」の『特権コマンド・データベース』を参照してください。 このコマンドに関連した特権および権限のリストについては、lssecattr コマンドまたは getcmdattr サブコマンドの項を参照してください。
このコマンドの全機能を使用するためには、役割には accessauths のほかに、aix.security.su 権限も必要です。
Trusted AIX システムでは、su コマンドが - フラグを指定して呼び出されるときは、機密性および保全性の両方のラベルで、以下の条件が満たされる必要があります。
  • 現行ユーザーの最大クリアランスは、新規ユーザーの最大クリアランスより優勢でなければならない。
  • 新規ユーザーの最小クリアランスは、現行ユーザーの最小クリアランスより優勢でなければならない。
  • 現行ユーザーの有効なクリアランスは、新規ユーザーの最大クリアランスより劣勢であり、新規ユーザーの最小クリアランスより優勢でなければならない。

  1. root ユーザー権限を取得するには、以下のいずれかのコマンドを入力します。
    su
    このコマンドは、root ユーザーの実効ユーザー ID と特権を使用してサブシェルを実行します。 ユーザーは root パスワードを求められます。 サブシェルを終了し、元のシェル・セッションと元の特権に戻るには、EOF、Ctrl+D キー・シーケンスを押します。
    su --
    このコマンドは、root ユーザーの実効ユーザー ID と特権を使用して、サブシェルを実行します。プロンプトが出たら、root パスワードを入力します。サブシェルを終了し、元のシェル・セッションと元の特権に戻るには、EOF、Ctrl+D キー・シーケンスを押します。
  2. jim ユーザーの特権を取得するには、次のコマンドを入力します。
    su jim
    このコマンドは、jim の実効ユーザー ID と特権を指定してサブシェルを実行します。
  3. ユーザー jim としてログイ ンしたかのように環境を設定するには、以下のように入力します。

    su  - jim
    このコマンドは、jim のログイン環境でサブシェルを開始します。
  4. root ユーザー権限でバックアップ・コマンドを実行し、 元のシェルに戻るには、以下のように入力します。
    su root "-c /usr/sbin/backup -9 -u"
    このコマンドは、root ユーザー権限を使用して、root のデフォルト・シェル内で backup コマンドを実行します。このコマンドを実行するためにパスワードを照会されたら、正確な root パスワードを指定しなければなりません。
  5. 現行セッションのユーザー資格情報を 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 システムのラベル定義が入っています。