Macのターミナルで一時的にルートになる方法です。
環境
macOS High Sierra 10.13.1
手順
管理者権限のあるユーザなら、以下のコマンドでルートになれました。
1 2 3 |
$ sudo su - Password: # |
余談
ちなみに「su -」だけだとルートになれなかったです。
1 2 3 4 |
$ su - Password: su: Sorry $ |
理由をちょっと調べてみたのですが、、、
「su -」はルートユーザにスイッチするので、
まず、Macの設定でルートユーザを有効にしないといけない。
→デフォルト無効なのでスイッチ出来ないってことですね。
ここは分かりました。
ただ、
「sudo su -」は管理者権限のあるユーザなら
そのユーザのパスワードでルートになれる。
→ルートユーザは有効になっていないのに、
どうしてsudoをつけるとルートユーザにスイッチ出来るの?
っていうのが良く分からず、腑に落ちないって感じです。
そういう仕様なのかも知れないし、
ちゃんとした理由があるのかも知れないですが、
いつか分かる日が来るでしょう!
ということで今日はスルーしちゃいます!
追記:
コメントいただいて解決しましたー!
stmkzaさんありがとうございます!
コメント
sudoは、(ユーザの有効/無効に関わらず) rootとしてコマンドを実行するのですが、
suコマンドは、root権限で実行された場合はパスワードを尋ねない(=rootが使えるか確認しない)仕様になっているので、root権限でシェルが使えます。
ですので、 sudo bash でもbashをroot権限で起動できます。ただし、環境変数などが正しく設定されないことがあるので、オススメはしませんが(^^;;
あ、そういう仕組みだったんですね!
スッキリしました!
さらにsudo bashというやり方もあるんですねー
さっそく試したところ、元のユーザの環境が引き継がれているような感じでした。
ありがとうございました!!