FHSの「/etc」ディレクトリの概要

/etc

はじめに

Linuxシステムにおいて、ファイルシステムのディレクトリ構造はFHS (Filesystem Hierarchy Standard) に基づいて定義されています。それぞれのディレクトリには特定の役割が割り当てられており、システムの動作や管理において重要な役割を果たします。特に、/etc ディレクトリは、システム全体の設定ファイルや構成情報が保存される場所であり、Linuxシステムの管理において欠かせない存在です。本記事では、FHS規格における /etc ディレクトリの役割、内容、およびその重要性について詳しく説明します。

/etc ディレクトリとは?

/etc ディレクトリは、システム全体の設定ファイルや構成情報を格納する場所です。このディレクトリには、システムの動作を管理するための設定ファイルや、各種サービスやアプリケーションの設定ファイルが保存されています。/etc という名称は、Unixの初期の時代から続くもので、「etcetera」からきており、システムに必要な追加のファイルを格納する場所として発展してきました。

/etc の主なサブディレクトリとファイル

1. /etc/passwd

/etc/passwd ファイルは、システム上のユーザ情報を管理するためのファイルです。このファイルには、ユーザ名、ユーザID、ホームディレクトリ、ログインシェルなどの情報が含まれています。システムにログインするユーザは、すべてこのファイルに記録されています。

/etc/passwd
/etc/passwd

/etc/shadow は、ユーザのパスワード情報を格納するファイルです。/etc/passwd にはパスワード情報は含まれておらず、セキュリティ上の理由からパスワードはこのファイルに暗号化されて保存されます。

/etc/shadow

3. /etc/group

/etc/group ファイルは、ユーザグループの情報を格納するファイルです。このファイルには、グループ名、グループID、グループに属するユーザのリストが記載されています。グループによるアクセス権の設定がこのファイルで管理されます。

/etc/group

4. /etc/hosts

/etc/hosts ファイルは、ホスト名とIPアドレスの対応を定義するファイルです。DNSを使用せずに、ローカルの名前解決を行うために使用されます。例えば、ローカルホストの設定や、特定のホスト名に対して特定のIPアドレスを手動で指定する場合に使用されます。

/etc/hosts

5. /etc/fstab

/etc/fstab ファイルは、システムの起動時にマウントされるファイルシステムを定義するファイルです。ディスクパーティションやその他のファイルシステムがどのようにマウントされるかを設定するため、システムのディスク構成に関する重要な情報を含んでいます。

/etc/fstab

6. /etc/network/interfaces または /etc/sysconfig/network-scripts/

ネットワーク設定ファイルとして、ディストリビューションによって異なるファイルが使用されます。Debian系では /etc/network/interfaces が使用され、Red Hat系では /etc/sysconfig/network-scripts/ にネットワーク設定ファイルが保存されています。

/etc/network/interfaces    # Debian系
/etc/sysconfig/network-scripts/  # Red Hat系

/etc の重要性

1. システムの動作を管理

/etc ディレクトリは、システム全体の動作を管理するための設定ファイルが集まっています。たとえば、ユーザ認証、ネットワーク設定、ファイルシステムのマウント、サービスの自動起動など、システムの基本的な動作に関わる情報が保存されています。これらの設定ファイルは、システム管理者がシステムの構成や挙動を調整する際に頻繁に参照され、変更されます。

2. セキュリティの観点

/etc には、ユーザのパスワード情報や認証情報が保存されているため、セキュリティの観点からも非常に重要です。たとえば、/etc/shadow には暗号化されたパスワードが保存されており、適切なアクセス権限の設定が不可欠です。また、システムのホスト名やIPアドレスの設定なども含まれているため、これらの情報を不正に変更されないように保護することが求められます。

3. システムバックアップ

/etc に保存されている設定ファイルは、システムの構成を保持するために不可欠です。そのため、システムのバックアップを行う際には、/etc ディレクトリを必ず含める必要があります。このディレクトリが適切にバックアップされていれば、システム障害時や移行時にも、設定を迅速に復元することが可能です。

/etc と他のディレクトリとの違い

/var との違い

/var はシステムの動作中に変動するデータを保存するディレクトリであり、ログファイルやキャッシュ、スプールデータなどが含まれています。対して、/etcシステムの静的な設定ファイルを保存する場所であり、システムの動作を管理するための固定的なデータが格納されています。

/home との違い

/home は、ユーザの個人ファイルや設定を保存する場所です。対して、/etc はシステム全体の構成情報を扱い、個々のユーザの設定ではなく、システム全体の管理に関するデータが格納されています。

まとめ

/etc ディレクトリは、Linuxシステムにおける設定ファイルの集約場所として非常に重要な役割を果たしています。システムの動作や管理に関わる設定ファイルが保存されており、システム管理者はこれらのファイルを通じてシステムの挙動をコントロールします。また、セキュリティやバックアップの観点からも、/etc ディレクトリは慎重に管理する必要があります。システム運用において、/etc の適切な管理がシステムの安定性とセキュリティを確保するための鍵となります。