Solaris man マニュアル
システム管理コマンド                                       su(1M)

【名前】
     su - スーパーユーザーまたは別のユーザーに変更

【形式】
     su [-] [ username [arg ...]]

【機能説明】
     su コマンドを使用すると、ログオフをしないで別のユーザーま た
     は 別 の 役 割になることができます。デフォルトの username は
     root (スーパーユーザー) です。

     su を使用するときは、適切なパスワードを入力する必要があり ま
     す  (ユーザーがすでに root の場合は不要)。パスワードが正しけ
     れば、指定した username 用に設定されている実ユーザーID、実効
     ユー ザーID、グループ ID、補助グループリストを持つ新しいシェ
     ルプロセスが生成されます。新しいシェルは、username  の パ ス
     ワードファイルエントリ (passwd(4) を参照) のシェルフィールド
     で指定されたシェルです。シェルが指 定 さ れ て い な い と、
     /usr/bin/sh  (sh(1) を参照) になります。スーパーユーザー権限
     が必要な場合に、exec(2) によってスーパーユーザーのシェルを起
     動できないときは、代わりに /sbin/sh が使用されます。元のユー
     ザーID の権限に戻る場合は、EOF 文字 (<CTRL-D>) を入力して 新
     しいシェルを終了します。

     コマンド行に引数を指定すると、その引数が新しいシェルに渡され
     ます。sh などのプログラムを実行している場合は、arg (引数) に
     -c string と指定すると、シェルによって string が実行さ れ ま
     す。また、引数に -r を指定すると、ユーザーに制限付きのシェル
     が与えられ提供されます。

     ログイン環境を作成するために、コマンド「"su -"」は次の作業を
     実行します。

       o  すでに伝播されている環境変数に加えて、指定さ れ た ユー
          ザーの環境から環境変数 LC* と LANG を伝播します。

       o  ユーザーの環境から環境変数 TZ を伝播します。環境変数 TZ
          が ユー ザー の 環 境 に 存 在 し な い 場 合、 su は、
          /etc/default/login にある TIMEZONE パラメータの TZ 値を
          使用します。

       o  MAIL を /var/mail/new_user に設定します。


     su の最初の引数に - (ダッシュ) を指定すると、指定 し た ユー
     ザーとして実際にログインした場合と同じ環境が渡されます。最初
     の引数に - (ダッシュ) を指定しない場合、$PATH 以外の環境が渡
     さ れ ま す。 $PATH  は  /etc/default/su 中で PATH と SUPATH
     によって制御されます。また、引数に - (ダッシュ) を指定した場
     合は、ユーザーのプロジェクト ID が設定されます。settaskid(2)
     のマニュアルページを参照してください。

     su を実行して別のユーザーになる操作は、すべてログ ファ イ ル
     /var/adm/sulog に記録されます (sulog(4) を参照)。

【セキュリティ】
     su は、pam(3PAM) を使って、認証、アカウント管理、セッショ ン
     管理を行います。su で使用するモジュールを指定する PAM 構成ポ
     リシーは、/etc/pam.conf に記述されています。次の例は、su  コ
     マ ンド (UNIX 認証、アカウント管理、セッション管理モジュール
     を実行) エントリが記述されている pam.conf ファイルの抜粋を示
     します。



     su   auth        requisite   pam_authtok_get.so.1
     su   auth        required    pam_dhkeys.so.1
     su   auth        required    pam_unix_auth.so.1

     su   account     required    pam_unix_roles.so.1
     su   account     required    pam_unix_projects.so.1
     su   account     required    pam_unix_account.so.1

     su   session     required    pam_unix_session.so.1




     su サービスのエントリがない場合は other のサービスのエントリ
     を使用します。複数の認証モジュールが記述されている場合、複数
     のパスワードが必要になることがあります。

【使用例】
     例 1: 以前にエクスポートした環境を維持してユーザーbin になる

     以前にエクスポートした環境のままユーザーbin になるには、以下
     のコマンドを実行します。

     example% su bin

     例 2: ユーザーbin になり bin のログイン環境に変更する

     ユーザーbin になり、bin がログインした場合と同じ環境に切り替
     えるには、以下のコマンドを実行します。

     example% su - bin

     例 3: ユーザーbin の環境とアクセス権でコマンドを実行する

     ユーザーbin の一時的な環境とアクセス権を使ってコマンド  com-
     mand を実行する場合は、以下のように入力します。

     example% su - bin -c "command args"


【環境】
     セキュリティ上の理由から、接頭辞 LD_ が付いている環境変数 は
     削除されました。このため、以前にユーザーbin でエクスポートし
     た接頭辞 LD_ 付きの環境変数は、su bin を実行しても使用できま
     せん。

     LC_* 変 数  (LC_CTYPE、 LC_MESSAGES、 LC_TIME、 LC_COLLATE、
     LC_NUMERIC、 LC_MONETARY) (environ(5) 参照) が設定されていな
     い環境では、環境変数 LANG によって、各ロケールカテゴリの  su
     の 動作が決定します。もし、LC_ALL が設定されていれば、その内
     容が LANG 変数やその他の LC_* 変数より優先されます。上記の変
     数 が どれも設定されていなければ、C ロケール (米国の形式) に
     よって su の動作が決定します。

     LC_CTYPE        su が文字を処理する方 法 を 決 定 し ま す。
                     LC_CTYPE  に有効な値が設定されていると、その
                     ロケールで有効な文字を含むテキストやファイル
                     名 を表示または処理できます。また、拡張 UNIX
                     コード (EUC) の表示または処理も可能で す  (1
                     〜 3 バイト幅の文字を使用)。このほか、1 カラ
                     ム幅、2 カラム幅、またはそれ以上のカラム幅の
                     EUC  文字も処理できます。C ロケールでは、ISO
                     8859-1 の文字だけが有効です。



     LC_MESSAGES     診断メッセージや情報メッセージの表示方法を決
                     定します。また、メッセージの言語とスタイル、
                     肯定・否定の応答形式も決定します。C ロケール
                     では、メッセージはプログラム自身が使用してい
                     るデフォルトの形 (通常、米語) で表示さ れ ま
                     す。



【ファイル】
     $HOME/.profile          sh および ksh ユーザーのログインコマ
                             ンド



     /etc/passwd             システムのパスワードファイル



     /etc/profile            システム全体の sh と ksh のログイ ン
                             コマンド



     /var/adm/sulog          ログファイル



     /etc/default/su         このファイル中に指定できるデフォルト
                             パラメータは以下のとおりです。


                             SULOG           定義されている場合、
                                             別のユーザーになるた
                                             めの su の試行はすべ
                                             て、指定されたファイ
                                             ルに記録されます。




                             CONSOLE         定義されている場合、
                                             root になるための su
                                             の試行はすべて、コン
                                             ソー ル に記録されま
                                             す。



                             PATH            デ フォ ル ト パ  ス
                                             (/usr/bin:)



                             SUPATH          root になるために su
                                             を 起 動しているユー
                                             ザーのデフォルトパス
                                             (/usr/sbin:/usr/bin)



                             SYSLOG          すべての su 試行を記
                                             録   す   る  の  に
                                             syslog(3C)        の
                                             LOG_AUTH  を使うかど
                                             うかを指定し ま す。
                                             LOG_NOTICE  メッセー
                                             ジは root への su に
                                             対 し て 生 成され、
                                             LOG_INFO メッセー ジ
                                             はその他のユーザーへ
                                             の su に対して生成さ
                                             れ  ま す。 LOG_CRIT
                                             メッセージは、su  に
                                             失敗した場合に生成さ
                                             れます。



     /etc/default/login      このファイルのデフォルトのパラメータ
                             は、次のとおりです。


                             TIMEZONE        シェルの TZ 環境変数
                                             を設定します。




【属性】
     次の属性については attributes(5) のマニュアルページを参照 し
     てください。
     ____________________________________________________________
    |         属性タイプ          |            属性値           |
    |_____________________________|_____________________________|
    | 使用条件                    | SUNWcsu                     |
    |_____________________________|_____________________________|

【関連項目】
     csh(1),   env(1),   ksh(1),   login(1),   roles(1),   sh(1),
     syslogd(1M),        exec(2),       getdefaultproj(3PROJECT),
     setproject(3PROJECT),   pam(3PAM),   pam_authenticate(3PAM),
     pam_acct_mgmt(3PAM),     pam_setcred(3PAM),     pam.conf(4),
     passwd(4), profile(4), sulog(4), syslog(3C),  attributes(5),
     environ(5)