Macでrootユーザを有効にし、macOS 10.13 High Sierraでパスワード無しにrootアカウントでログインできる不具合を修正する方法を以下にまとめました。詳細は以下から。
macOS 10.13 ~ 10.13.1でユーザ名に「root」を利用するだけでパスワード無しにシステム管理者アカウントでMacにログインできてしまう不具合は、発見者であるLemi Orhan Erginさんのツイートが3時間で4,000RT以上され広く知れ渡ったようですが、
そのツイートに対し何人かの方々やMacRumorsなどのサイトが「一時的な措置としてrootアカウントを有効にし、パスワードを掛けることでパスワード無し(passwordless)問題を防ぐことが出来る」というコメントを出しているので、その方法を以下にまとめておきます。
rootアカウントを有効にしてパスワードを設定
macOSでrootアカウントを有効にするにはまずシステム環境設定アプリの[ユーザとグループ]で鍵アイコンをクリックし「ログインオプション」から「ネットワークアカウントサーバ[接続]」ヘ進み[ディレクトリユーティリティを開く…]をクリックするか、以下のディレクトリにあるディレクトリユーティリティアプリを直接開きます。
/System/Library/CoreServices/Applications/Directory Utility.app
次に、ディレクトリユーティリティアプリの鍵アイコンをクリックし、現在の管理者名とパスワードを入力。
最後に、ディレクトリユーティリティの[編集]メニューから[ルートユーザを有効にする]をクリックし、表示されるプロンプトでrootユーザのパスワードを設定してあげれば、パスワード無しでの権限昇格を阻止できます。
追記
Lemi Orhan Erginさんのツイートによると、rootアカウントを有効にしなくても”sudo passwd root”でrootのパスワードを変更すればいいようです。
To fix MacOS High Sierra Passwordless Root Account issue, create a password for the "root" account. https://t.co/LqNVwVvxEb
— Lemi Orhan Ergin (@lemiorhan) 2017年11月28日
sudo passwd root
追記2
コメント欄で、管理者アカウントでなくゲストアカウントでもパスワード無しにroot化できるのかという質問をいただいたのでチェックしてみましたが、以下の通りGuestユーザーでも可能となっていました。
追記3
Appleは現地時間2017年11月28日付けで英語のサポートドキュメントを更新し、rootパスワードの変更方法を追記しています。上記の方法とほぼ同じなので問題ないと思いますが、職場などに配布する資料として正式なものを利用したい方は以下のページをチェックしてみて下さい。
Appleが先程サポートドキュメントをアップデートし、rootユーザのパスワードを変更する方法を追記しているので、High Sierraユーザの方はチェックして下さい。 https://t.co/95qWlzOezo https://t.co/5q6cm6xJBE
— Appleちゃんねる (@applechinfo) 2017年11月28日
Change the root password
- Appleメニュー()からシステム環境設定アプリを開き、[ユーザーとグループ](またはアカウント)をクリックする。
- 鍵アイコンをクリックし、管理者名とパスワードを入力する。
- ログインオプションをクリックする。
- [接続]のボタンをクリックする。
- [ディレクトリユーティリティを開く]をクリックする。
- ディレクトリユーティリティ・ウィンドウの鍵アイコンをクリックし、管理者名とパスワードを入力する。
- ディレクトリユーティリティのメニューから[編集] → [ルートパスワードを変更]をクリックする。
- 表示されるプロンプトにルートパスワードを入力する。
2017年11月30日 追記
Appleはこの脆弱性を修正する「Security Update 2017-001」を現地時間2017年11月29日に公開し、ユーザーに対し「このアップデートをなるべく早くインストールして下さい。」と警告を出しています。
- Mac でルートユーザを有効にする方法 – Apple サポート
コメント
ありがとうございます。早速対処したよ。
ありがとうございます。非常に助かります。
迅速ですばらしいです。
ありがとうございました。
sudo passwd root では、同時にrootの有効化が行われると思います。
なので、「rootアカウントを有効にしなくても”sudo passwd root”でrootのパスワードを変更すればいいようです。」のうち、「rootアカウントを有効にしなくても」、の部分は間違いと思います。
とりあえず、Fatal Errorを直そうw!
Directry Editor画面から記載の方法でrootのパスワードを変更した後に、そのパスワードを再度変更しようとしてもできない(メニューの「ルートパスワードを変更」の選択肢が灰色)ですが、この場合に何か他の方法はありますか?
Directry Editor画面から記載の方法でrootのパスワードを変更後、そのパスワードを再変更しようとしてもその編集メニューの「ルートパスワードを変更」の選択肢が灰色で選択洗できないです。この場合に変更する方法はありますか?
Appleからこの問題に対して ソフトウェア・アップデート がリリースされました。
About the security content of Security Update 2017-001
https://support.apple.com/ja-jp/HT208315