ユーザ ID とグループ ID を変更してシェルを起動する
user
の実ユーザー ID、実効ユーザー ID、グループ ID、および所属グループ
の権限を与えてシェルを起動する。もし
user
が与えられなかった場合、デフォルトは root、すなわちスーパーユーザーで
ある。実行されるシェルは
user
のパスワードエントリから選択される。ここに何も書かれていない場合は
/bin/sh が実行される。
user
にパスワードがある場合には、
su
はパスワードを要求するプロンプトを表示する。ただし
su
を実行したのが実ユーザー ID 0 (スーパーユーザー)の場合にはパスワード
認証は行われない。
su
はデフォルトではカレントディレクトリを変更しない。また
su
は
環境変数 `HOME' および `SHELL' を
user
のパスワードエントリの値にセットする。また
user
が スーパーユーザー以外の場合には、環境変数 `USER' と `LOGNAME' を
user
にセットする。デフォルトでは、起動されるシェルはログ
インシェルにはならない。
ひとつ以上の引き数
arg
が与えられた場合には、これらはシェルに渡され、
引き数としてシェルに付加される。
su
は /bin/sh あるいはそれ以外のいかなるシェルも特別には扱わない
(argv[0] に -su を設定したり、あるシェルにだけ -c を渡したり、といっ
たことはしない)。
syslog に対応しているシステムでは、
su
が失敗したとき syslog にレポートするようにコンパイルすること
ができる(成功をレポートするようにもできる)。
このプログラムは wheel group の機能(
su
によってスーパーユーザーアカウントになれるユーザを制限する機能)をサポー
トしない。これは専制的なシステム管理者が他のユーザーに不当な権力を振る
えないようにするためである。
-c COMMAND, --command=COMMAND
-c
オプションとともに COMMAND (実行されるコマンドライン一行)を渡す。
-f, --fast
-f
オプションを渡す。これは(おそらく)
csh
と
tcsh
のみで意味を持つ。これらのシェルでは
-f
オプションを指定すると、スタートアップファイル(.cshrc)を読み込まない。
Bourne 系のシェルでは
-f
オプションはファイル名パターンの展開を抑制する。これは大抵の場合は望ま
しい動作ではないだろう。
--help
-, -l, --login
user
のホームディレクトリに変更する。シェル名の前に `-' を付加し、シェルに
ログイン時のスタートアップファイルを読ませる。
-m, -p, --preserve-environment
user
のシェルではなく、現在の環境変数 `SHELL' で指定されているシェルを実行
する。ただし
su
を実行するユーザーがスーパーユーザではなく、
user
によるシェルの実行が制限されている場合はこの限りではない。実行が制限さ
れているシェルとは、 /etc/shells にリストされていないシェル、あるいは
/etc/shells が無い場合はコンパイル時の指定リストに存在しないシェルのこ
とである。このオプションが実行する作業の一部は
--login
または
--shell
によってオーバーライドされる。
-s, --shell shell
user
のシェルの代わりに
shell
を実行する。
--version