Macのターミナルで一時的にルートになる方法

スポンサーリンク

Macのターミナルで一時的にルートになる方法です。


環境

macOS High Sierra 10.13.1

手順

管理者権限のあるユーザなら、以下のコマンドでルートになれました。

余談

ちなみに「su -」だけだとルートになれなかったです。

理由をちょっと調べてみたのですが、、、

「su -」はルートユーザにスイッチするので、
まず、Macの設定でルートユーザを有効にしないといけない。

→デフォルト無効なのでスイッチ出来ないってことですね。
ここは分かりました。

ただ、

「sudo su -」は管理者権限のあるユーザなら
そのユーザのパスワードでルートになれる。

→ルートユーザは有効になっていないのに、
どうしてsudoをつけるとルートユーザにスイッチ出来るの?

っていうのが良く分からず、腑に落ちないって感じです。

そういう仕様なのかも知れないし、
ちゃんとした理由があるのかも知れないですが、

いつか分かる日が来るでしょう!
ということで今日はスルーしちゃいます!

追記:
コメントいただいて解決しましたー!
stmkzaさんありがとうございます!

スポンサーリンク
レクタングル広告(大)
レクタングル広告(大)

コメント

  1. stmkza より:

    sudoは、(ユーザの有効/無効に関わらず) rootとしてコマンドを実行するのですが、
    suコマンドは、root権限で実行された場合はパスワードを尋ねない(=rootが使えるか確認しない)仕様になっているので、root権限でシェルが使えます。

    ですので、 sudo bash でもbashをroot権限で起動できます。ただし、環境変数などが正しく設定されないことがあるので、オススメはしませんが(^^;;

  2. 管理人 より:

    あ、そういう仕組みだったんですね!
    スッキリしました!
    さらにsudo bashというやり方もあるんですねー
    さっそく試したところ、元のユーザの環境が引き継がれているような感じでした。
    ありがとうございました!!