kurodakazumichi / issues

0 stars 0 forks source link

【Linux Command】su #11

Open kurodakazumichi opened 6 years ago

kurodakazumichi commented 6 years ago

suとは

ユーザーを切り替えるコマンド

構文

su [-flmp] [-c command] [-s shell] [-] [--help] [user[arg...]]

kurodakazumichi commented 6 years ago

su と su - の違い

# vagrant userの時の$PATHを表示
[vagrant@localhost ~]$ echo $PATH
省略・・・:/home/vagrant/bin

# suでrootに切り替えで$PATHを表示するとvagrant userと同じものが表示される。
[vagrant@localhost ~]$ su
[root@localhost vagrant]# echo $PATH
省略・・・:/home/vagrant/bin

# vagrantに戻る
[root@localhost vagrant]# exit

# su - で root userになる
[vagrant@localhost ~]$ su -

# $PATHを表示するとrootユーザーの設定に変わっている。
[root@localhost ~]# echo $PATH
省略・・・:/root/bin

環境変数などが前のユーザーのままの場合、PATHが通ってなかったりして 思わぬ動作を引き起こすことが多そうなので、基本的に-は付けたほうがよさそう。