
Mac OS Xのコマンドラインからルートユーザーを有効または無効にする方法
上級Macユーザーの多くは、Mac OS XのGUIからディレクトリユーティリティを使ってルート権限を有効化するのが最も簡単だと感じるでしょう。しかし、コマンドラインを使うという選択肢もあります。ここで言うルート権限の有効化とは、sudoやsuを使うことではなく、複雑な状況では適切なルート権限のユーザーアカウントを実際に有効化することです。
ターミナルを使い慣れていて、コマンドライン構文にも慣れている方にとって、Mac OS Xでルートユーザーアカウントをコマンドラインから有効化する方が、ディレクトリユーティリティアプリケーションから有効化するよりも簡単かもしれません。これは、ルートユーザーアカウントを全体またはユーザーごとに有効化および無効化するために必要な手順が少ないためです。また、接続可能なMacであれば、SSH経由でリモートから有効化できるという利点もあります。
重要なのは、rootユーザーアカウントの有効化は、普遍的なスーパーユーザー権限がいつ、なぜ必要になるかを理解している上級ユーザーのみを対象としていることです。システム管理者以外のユーザーや、特に高度で複雑な問題のトラブルシューティングを行う際に、root権限が必要になることは稀です。多くの場合、sudoを使用するか、GUIアプリをrootとして起動するだけで十分です。
何をしているのかよくわからない場合は、ルートユーザーアカウントを有効にせず、使用しないでください。ルートユーザーはMac OS Xのあらゆる機能にアクセスできる権限を持っているため、操作を間違えやすく、アカウントをアクティブのままにしておくとセキュリティリスクにつながる可能性があります。これは本当に上級Macユーザー向けです。
dsenableroot を使用して Mac OS X のコマンドラインから root ユーザー アカウントを有効にする
「dsenableroot」という適切な名前のシンプルなコマンドラインツールを使用すると、Mac OS X でルートユーザーアカウントをすぐに有効にすることができます。最も簡単な方法は、ターミナルプロンプトに「dsenableroot」と入力し、ユーザーのパスワードを入力してから、ルートユーザーパスワードを入力して確認するだけです。
% dsenableroot
username = Paul
user password:
root password:
verify root password:
dsenableroot:: ***Successfully enabled root user.
「dsenableroot:: ***Successfully enabled root user.」というメッセージが表示されたら、定義したパスワードで root ユーザーが有効化されたことがわかります。
必要に応じて、-u フラグを指定して、ユーザー アカウントごとに root ユーザーを有効にすることもできます。
dsenableroot -u Paul
「Paul」を特定の Mac 上の任意のユーザー名に置き換えても機能します。
もちろん、ルート ユーザーの操作が完了したら、ルート アカウントのアクセスも無効にすることができます。
Mac OS Xのコマンドラインからルートユーザーアカウントを無効にする
同じ dsenableroot コマンド文字列に -d フラグを渡すと、次のように root ユーザー全体が無効になります。
% dsenableroot -d
username = Paul
user password:
dsenableroot:: ***Successfully disabled root user.
「dsenableroot:: ***Successfully disabled root user.」というメッセージは、root アカウントが無効になったことを示します。
特定のユーザーを有効にするのと同様に、-d および -u フラグを使用して特定のユーザーを無効にすることもできます。
dsenableroot -d -u Paul
これは、特定のユーザー アカウントに root アカウント権限が必要なくなった場合に適している可能性があります。
一般的に言えば、root ユーザー アカウントを無効のままにしておくのが良いでしょう。
dsenableroot ユーティリティは、MacOS Sierra、OS X El Capitan、OS X Yosemite、OS X Mavericks、Mountain Lion などで動作します。Snow Leopard など、はるかに古いバージョンの OS X を使用しているユーザーの場合は、代わりに sudo passwd メソッドを使用してください。