suコマンドは、substitute userの略で、 ユーザーを切り替えるのに利用します。 suコマンドを利用することにより、rootユーザーに変更もでき、何でもできるようになります。 もちろん他の一般ユーザーになることもありますが、主にrootユーザーへの切り替えに利用されます。

suコマンド(ユーザーの切り替え)

3年以上前に更新されました。情報が古い可能性があります。
更新日 : 2019年09月18日

suコマンドは、substitute userの略で、 ユーザーを切り替えるのに利用します。

suコマンドを利用することにより、rootユーザーに変更もでき、何でもできるようになります。

もちろん他の一般ユーザーになることもありますが、主にrootユーザーへの切り替えに利用されます。

suコマンドの使い方

ユーザーを切り替えるsuコマンドは基本的に下記のように利用します。

$su 切り替えたいユーザー名

これだけです。

コマンド実行後、切り替えたいユーザーのパスワードを求められるので、入力後Enterを押すと切り替えが完了します。

また、特別なrootユーザーはユーザー名を省略し、下記のように実行できます。

# rootユーザーへの切り替えは特別
$su
# または
$su -

ユーザー名を入力する部分に何も入力しないかハイフン(-)を入力すると、rootユーザーに簡単に切り替えることができます。

ハイフンのあるなしの差もあります。

  • ハイフンなしの場合
    切り替える前のユーザーの情報を引き継ぎ、rootユーザーでログインする
  • ハイフンありの場合
    切り替える前のユーザーの情報を引き継がず、完全にrootユーザーでログインする

どちらでユーザーを切り替えても大差はありませんが、ハイフンをつけたほうが直接rootユーザーでログインしたような挙動になります。

実際にユーザーを切り替えてみる

実際に一般ユーザーからrootユーザーに切り替えてみましょう。

# まず現状どのユーザーでログインしているかWho am Iコマンドで確認
$whoami
vagrant

# 次にrootユーザーに切り替え
$su -
パスワード:
最終ログイン: 2019/09/18 (水) 05:17:03 UTC日時 pts/0

# 再度確認
$whoami
root

これで切り替わっていることが確認できました。(Vagrant上のrootユーザーのパスワードはvagrant)

パスワード入力時には外から見られないように画面上には何も反映されませんが、しっかりと入力されていますので間違えないように入力しましょう。

また、このsuコマンドでは、切り替える前のユーザーからさらに別のユーザーへログインすることになります。そのため切り替える前のユーザーに戻る際にはexitコマンドなどでユーザーを元に戻せます。