sudo su とハイフン有り無しの違いについて解説していきます。

centos

Linux系マシンでユーザを変更するときに、「su」や「sudo su」や「sudo su -」でユーザを変更していますが、記述方法が色々あるので今回はこの記述方法についてまとめていきます。

sudo や suの使い方の理解を今一度確認していきましょう!

[スポンサーリンク]

su でrootへ切り替える

rootへ切り替えます。
ユーザを指定しないとrootユーザへ切り替わります。

su

次にハイフンをつけてみます。
ハイフンをつけることでログインシェルを実行して、rootへ切り替えます。
具体的な違いとしては、ハイフンをつけるとrootのカレントディレクトリへ移動しますが付けないとsuを実行したディレクトリにとどまります。

su -

su で一般ユーザへ切り替える

XXXユーザに切り替えます。

su XXX

こちらも先ほどのハイフンと同様に、指定されたユーザのログインシェルを実行してユーザを切り替えます。
ログインシェルが実行されることによって、指定されたユーザのカレントディレクトリへ移動します。

su - XXX

sudo su で一般ユーザへ切り替える

ここでsudo コマンドの登場です。
suコマンドを実行するとrootユーザのパスワードが求められます。
rootユーザのパスワードが分からない場合は、sudoコマンドでrootユーザとしてsuコマンドを実行することができます。
この時sudoを実行するユーザにsudo権限がついていることが前提条件となります。

sudo su XXX

sudo su もハイフンをつけることで、指定されたユーザのログインシェルを実行してユーザを切り替えます。
ログインシェルが実行されることによって、指定されたユーザのカレントディレクトリへ移動します。

sudo su - XXX

さいごに

いかがでしたか?sudo su と suの違いとハイフン有り無しの違いについてはクリアになったでしょうか?

基本的なことですがしっかりとおさえておくと混乱しなくてすみますよ。

それでは!