su(1) FreeBSD 一般コマンドマニュアル

su

前のページ 上に戻る 次のページ

su




解説

     sulogin するときに Kerberos パスワード (もしくはログイン ( login ) が
     指定されない場合には、 ``login.root'' のパスワード)を要求し、Kerberos 認
     証を得たあとにユーザとグループ ID を切り替えます。シェルはそのあとに実行
     されます。もし Kerberos エラーがあれば、 su は、 login のためのパスワード
     を見つけるためにローカルパスワードファイルを調べます。もし su が root に
     よって実行された場合、パスワードは要求されず、適当なユーザ ID をもった
     シェルが実行されます。付加的な Kerberos 認証は一つも得られません。

     デフォルトでは、 USER, HOME, SHELL 以外の環境変数は引き継がれます。 HOME
     と SHELL はターゲットとなるログインのデフォルト値になります。 USER は、タ
     ーゲットログインのユーザ ID が 0 以外であれば、ターゲットログインのものが
     セットされます。0 の場合は変更されません。実行されるシェルはターゲットロ
     グインのログインシェルです。これは su の伝統的なふるまいです。オリジナル
     ユーザのログインクラス( login.conf(5) 参照)の資源制約とセッション優先度も
     通常保たれます。例外はターゲットログインがユーザ ID 0 の場合です。

     オプションとしては、以下のものがあります:

     -K      ユーザ認証に Kerberos を使用しません。

     -f      シェルとして csh(1) が実行される場合、 ``.cshrc'' ファイルを読み
             込みません。

     -l      通常にログインした場合と同様になるように環境変数が設定されます。
             すなわち、環境変数は HOME, SHELL, PATH, TERM, USER 以外は捨てられ
             ます。 HOME と SHELL は上記のように変更されます。 USER はターゲッ
             トログインの値になります。 PATH は ``/bin:/usr/bin'' になります。
             TERM は、あなたの現在の環境変数の値になります。ターゲットログイン
             のクラスにより、ログインクラスケーパビリティデータベースに基づ
             き、環境変数が設定もしくは変更されることがあります。実行される
             シェルはターゲットログインのログインシェルになり、ターゲットログ
             インのホームディレクトリに移動します。資源制約とセッション優先度
             は、ターゲットアカウントのログインクラスのものに変更されます。

     -       (文字無し) -l と同じです。

     -m      環境変数は変化しません。実行されるシェルは自分のログインシェル
             で、ディレクトリの移動も行われません。セキュリティの用心として、
             もしターゲットユーザのシェルが非標準シェル ( getusershell(3) で定
             義される) であったり、呼出側の実ユーザ ID が 0 でなければ、 su は
             失敗します。

     -c class
             指定されたログインクラスの設定を使用します。スーパユーザのみが使
             用を許されます。 -)

     -l (または - ) と -m は、同時に指定することはできません。最後に指定したも
     のが優先されます。

     オプションの args がコマンドラインに指定されると、それらはターゲットログ
     passwd(5), environ(7)


環境変数

     su で利用される環境変数は以下の通りです:

     HOME  上記で示した書き換えがない限り、実ユーザ ID のデフォルトのホーム
           ディレクトリです。

     PATH  上記で示した書き換えがない限り、実ユーザ ID のデフォルトのサーチパ
           スです。

     TERM  なり代わる人が所有している端末のターミナルタイプです。

     USER  ユーザ ID が 0 (root) 以外の場合は、ユーザ ID は常に su 後の effec-
           tive ID (ターゲットとなるユーザ ID) です。


使用例

     su man -c catman
            コマンド catman をユーザ man で実行します。あなたの実 UID が 0 で
            ない場合は、man のパスワードを尋ねられます。
     su man -c 'catman /usr/share/man /usr/local/man /usr/X11R6/man'
            上と同様ですが、コマンドが複数の語から構成されています。 -c オプ
            ションをシェルに渡すためにクォートしています (ほとんどのシェルでは
            -c への引数が単一語であると期待します)。
     su -c staff man -c 'catman /usr/share/man /usr/local/man /usr/X11R6/man'
            上と同様ですが、ログインクラス ``staff'' の資源制限にてターゲット
            コマンドを実行します。注: この例では、最初の -c オプションは su に
            適用され、2 番目のものは起動されるシェルの引数となります。
     su -l foo
            ユーザ foo のログインをシミュレートします。
     su - foo
            上と同じです。
     su -
            rootのログインをシミュレートします。


歴史

     su コマンドは Version 1 AT&T UNIX から登場しました。

FreeBSD 4.4                     April 18, 1994                     FreeBSD 4.4

ABELNET VPSサービス