su -
ユーザIDを変更する。またはスーパーユーザになる
su [
-] [
username [
args]]
su
はログインセッション中に別のユーザになるために用いる。
ユーザ名を指定せずに起動した場合、
デフォルトではスーパーユーザの
ID に変更する。
オプション引数
-
を用いると、
直接ログインした場合と同じ環境に初期化される。
ユーザ名の後ろに追加の引数を与えることもでき、
その場合引数はユーザのログインシェルに渡される。
特に、その引数の一つとして
-c を渡した場合、
それに続く引数は大部分のコマンドインタプリタにコマンドとして解釈される。
コマンドはそのユーザに
(
/etc/passwd で)
指定されているシェルで実行される。
必要な場合には、ユーザにはパスワードの入力が促される。
間違ったパスワードが入力された場合にはエラーメッセージが出力される。
suしようとした場合は、システムの濫用を検知するために、
それが正しい場合も不正な場合も常に記録が残される。
現在の環境は新しいシェルに引き継がれる。
ただし
$PATH の値は、
通常のユーザでは
/bin:/usr/bin に、
スーパーユーザでは
/sbin:/bin:/usr/sbin:/usr/bin
に再設定される。
これは
/etc/login.defs の
ENV_PATH
と
ENV_SUPATH
で変更できる。
サブシステムログインでは、
ログインシェルの最初の文字に
"*" を置く。
渡されたホームディレクトリは、
ユーザが実際にログインする新しいファイルシステムのルートとして扱われる。
この版の
su
には多くのコンパイル時オプションがあるが、
サイトによってはこの一部しか設定されていないこともある。
ファイル¶
/etc/passwd -
ユーザアカウント情報
/etc/shadow -
暗号化パスワードと有効期限情報
関連項目¶
login(1),
sh(1),
login.defs(5),
suauth(5)
Julianne Frances Haugh <jockgrrl@ix.netcom.com>