ウェブサイト検索

ルートとは誰ですか?なぜルートが存在するのでしょうか?


なぜ Linux に root という名前の特別なアカウントがあるのか疑問に思ったことはありますか?このアカウントを使用する際に推奨されるベスト プラクティスは何ですか?使用する必要があるシナリオと使用しないシナリオを認識していますか?これらの質問の 1 つ以上に「はい」と答えた場合は、読み続けてください。

この投稿では、手元に置いておきたい root アカウントに関する情報をリファレンスとして提供します。

ルートとは何ですか?

まず、Unix 系オペレーティング システムのディレクトリ階層はツリー状の構造として設計されていることを覚えておいてください。開始点はスラッシュ (/) で表される特別なディレクトリであり、他のすべてのディレクトリは最初はそこから分岐します。これは実際のツリーに似ているため、/ はルート ディレクトリと呼ばれます。

次の画像では、次の出力が確認できます。

tree -d / | less

これは、/ とツリーの root の類似性を示しています。

root アカウントの名前の背後にある理由は明確ではありませんが、root/ 内で書き込み権限を持つ唯一のアカウントであるという事実によるものと考えられます。

さらに、ルートは Unix 系オペレーティング システムのすべてのファイルとコマンドにアクセスできるため、スーパーユーザーと呼ばれることがよくあります。

余談ですが、ルート ディレクトリ (/) を、root ユーザーのホーム ディレクトリである /root と混同しないでください。実際、/root/ のサブディレクトリです。

root権限へのアクセスの取得

ルート (またはスーパーユーザー) 権限について話すときは、そのアカウントがシステム上で持つ権限を指します。これらの権限には、システムを変更したり、他のユーザーにそのリソースへの特定のアクセス許可を付与したりする機能が含まれます (ただし、これらに限定されません)。

この力を無謀に使用すると、良くてもシステムの破損、最悪の場合は完全な障害が発生する可能性があります。そのため、root アカウントの権限にアクセスする際には、次のガイドラインがベスト プラクティスとして受け入れられます。

最初に、root アカウントを使用して visudo を実行します。このコマンドを使用して /etc/sudoers を編集し、特定のアカウント (スーパーバイザーなど) に必要な最小限のスーパーユーザー権限を付与します。

これには、たとえば、 ユーザー アカウントを作成 (adduser) する 機能と 変更する (usermod) 機能 が含まれますが、それ以外は何も含まれません。

次に、 スーパーバイザーとしてログインし、sudo を使用してユーザー管理タスクを実行します。スーパーユーザー権限を必要とする他のタスク (パッケージの削除など) を実行しようとすると失敗することがわかります。

必要に応じて上記 2 つの手順を繰り返し、完了したら終了コマンドを使用して、特権のないアカウントにすぐに戻ります。

この時点で、定期的に表示される他のタスクにスーパーユーザー権限が必要かどうかを自問する必要があります。その場合は、/etc/sudoers で特定のアカウントまたはグループに必要な権限を付与し、可能な限り root アカウントの使用を避け続けます。

まとめ

この投稿は、Unix 系オペレーティング システムでroot アカウントを適切に使用するための参考として役立ちます。ブックマークに追加して、何度でも戻ってください。

いつものように、この記事に関してご質問やご提案がございましたら、下のコメント フォームを使用してお知らせください。お返事おまちしております!