30902


`su`コマンドの`-`オプションの説明が日本語だと

> > オプション引数 - を用いると、直接ログインした場合と同じ環境に初期化される。

なのに対し、英語だと

> > The optional argument - may be used to provide an environment similar to
> what the user would expect had the user logged in directly.

と"同じ"ではなく"似ている"という表現になっています。  
特に困ってはいないのですが、どちらの表現が正しいのでしょうか？

おそらく英語の方が正しい気がするんですが、  
だとしたら直接ログインした場合との違いを知りたいです。

環境は`Ubuntu 14.04.3 LTS`で`su`コマンドはバージョンを表示する方法がわかりませんでした。


CC BY-SA 3.0
2016-12-04T17:06:50.380
30897
2016-12-05T16:23:45.133
3271
question
ubuntu
su コマンドの "-" オプションの説明が日本語と英語で少し異なる理由


ubuntu でなくて hpux の場合ですが

`root` で ssh login した場合  
`USER` 環境変数が設定されている `USER=root`  
`MAIL` 環境変数が設定されている `MAIL=/var/mail/root`  
`SSH` 系環境変数が設定されている `SSH_CONNECTION` や `SSH_CLIENT`

一般ユーザで ssh login した後 `su -` した場合  
`USER` 環境変数が消失している  
`MAIL` 環境変数が消失している  
`SSH` 系環境変数が消失している

という違いがありました。


CC BY-SA 3.0
2016-12-05T00:28:17.393
30902
2016-12-05T00:28:17.393
8589
30897
answer


回答しようと思ったら解決されちゃってましたが、一応。

[JMProject](http://linuxjm.osdn.jp/)でsuを検索したら、[3件見つかりました。](http://linuxjm.osdn.jp/cgi-
bin/man.cgi?Pagename=su&submit=Search%21&Sec1=on&Sec2=on&Sec3=on&Sec4=on&Sec5=on&Sec6=on&Sec7=on&Sec8=on)

GNUのmanのほうには、もうちょっと詳しく書かれていますね。

> -, -l, --login  
>  シェルをログインシェルにする。すなわち以下のような取り扱いをする: すべての環境変数を解除する。その上で `TERM'、 `HOME'、
> `SHELL' を前述 のように設定し、 `USER'、 `LOGNAME' （スーパーユーザーであっても）を同 じく前述のように設定する。続いて
> `PATH' をコンパイル時のデフォルト値に 設定する。ディレクトリを user のホームディレクトリに変更する。シェル名の前に `-'
> を付加し、シェルに ログイン時のスタートアップファイルを読ませる。

以下個人的見解ですが、suコマンドとしてはシェルにオプション渡しているだけで、具体的な環境設定はシェルの仕事になるので、明言を避けているだけ、だと思いますが、どうでしょうかねぇ。


CC BY-SA 3.0
2016-12-05T14:13:34.497
30929
2016-12-05T16:23:45.133
2016-12-05T16:23:45.133
8000
15473
30897
answer