su
ユーティリティは PAM 経由で適切なユーザ資格を要求し、
そのユーザ ID に切り替えます (デフォルトユーザはスーパユーザです)。
その後シェルが実行されます。
すべてのポリシの設定には PAM が使用されます。
デフォルトでは、
USER,
HOME,
SHELL
以外の環境変数は引き継がれます。
HOME
と
SHELL
はターゲットとなるログインのデフォルト値になります。
USER
は、ターゲットログインのユーザ ID が 0 以外であれば、
ターゲットログインのものがセットされます。
0 の場合は変更されません。
実行されるシェルはターゲットログインのログインシェルです。
これは
su
の伝統的なふるまいです。
オリジナルユーザのログインクラス
(login.conf(5)
参照) の資源制約とセッション優先度も通常保たれます。
例外はターゲットログインがユーザ ID 0 の場合です。
オプションとしては、以下のものがあります:
| -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
は失敗します。
|
| -s
|
| |
ユーザの資格の設定の一環として、
MAC ラベルをユーザのデフォルトラベルへ設定します。
起動したプロセスの MAC ラベルが、
ユーザのデフォルト MAC ラベルへ遷移するには不十分である場合、
MAC ラベルの設定は失敗するかもしれません。
ラベルの設定ができない場合、
su
は失敗します。
|
| -c class
|
| |
指定されたログインクラスの設定を使用します。
スーパユーザのみが使用を許されます。
|
-l
(または
-
) と
-m
は、同時に指定することはできません。最後に指定したものが優先されます。
オプションの
args
がコマンドラインに指定されると、
それらはターゲットログインのログインシェルに引き渡されます。
ターゲットログイン名より前のコマンドライン引数はすべて
su
自身によって処理され、
ターゲットログイン名より後のコマンドライン引数はすべて
ログインシェルに渡されることに注意してください。
デフォルトでは (設定がされていなければ) スーパユーザのプロンプトは
" amp;#"
に設定されます。