【備忘】suとsu - の違い
今まで、あまり意識しないでsu - を使っていたので
一度まとめておく
■suとsu -の違い
▼su
コマンド実行前のユーザーアカウントの操作環境を引き継ぐ
※使用する シェル の種類や 環境変数 、 ホームディレクトリ など
▼su -
"root" に設定されている操作環境を用いる
【注意点】
・su の場合と su - の場合では "PATH" 環境変数が異なる
"root" ユーザーには デフォルト で "/usr/sbin/" が "PATH" 環境変数として与えられるが、
一般ユーザーにデフォルトで与えられる"PATH"には "/usr/sbin/" が含まれていない。
従って su で "root" に変更した場合は "/usr/sbin/" 以下にある コマンド を実行したい場合は必ず パス 名付きで実行しなければならなくなります 。
そういう点を考えれば、できるだけ su - を利用したほうが良さそう。
実際に試してみる。
○「-」なしパターン
$ sudo su
# echo $PATH
/usr/local/bin:/bin:/usr/bin:/home/inf/[ユーザー名]/bin
# exit
exit
○「-」ありパターン
$ sudo su -
# echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
たしかにそうなっていた!