一覧
ディレクトリ | 由来 | 分割適否 | 説明 |
---|---|---|---|
/ |
root | ルートディレクトリ | |
/boot |
boot | ○ |
起動(ブート)に必要なファイル - 分割理由: 起動の安定性向上のため |
/home |
home | ○ | ユーザーのホームディレクトリ - 分割理由: 再インストール時にデータを保持するため |
/usr |
user services and routines | ○ |
起動(ブート)に不要なファイル - 分割理由: 大容量になるため分割 - アプリケーションやライブラリ |
/var |
variable | ○ | ログやキャッシュなどの可変データ - 分割理由: ログ肥大化の影響を防ぐため |
/tmp |
temporary | ○ | 一時ファイル - 分割理由: 容量の圧迫を防ぐため |
/opt |
optional | △ | 追加のパッケージ - 分割理由: 大規模環境では推奨 |
/etc |
etcetera | × | 設定ファイルを格納。 |
/bin |
binary | × |
起動(ブート)に必要な基本コマンド e.g. ls , cp , mv , cat
|
/sbin |
system binary | × |
起動(ブート)に必要なシステム管理用コマンド e.g. fsck , reboot , ifconfig
|
/dev |
device | × | デバイスファイル デバイスへのアクセス用 |
/proc |
process | × | 仮想ファイルシステム デバイスの情報用 |
/lib |
library | × | システムライブラリ |
/lib64 |
library | × | システムライブラリ (64ビット) |
/media |
medium | × | リムーバブルメディアをマウント |
/mnt |
mount | × | 一時的なマウントポイント |
/root |
root | × |
root ユーザーのホームディレクトリ |
/run |
runtime | × | ランタイムデータ |
/sys |
system | × | カーネルとデバイス情報 |
/home
ディレクトリ/ファイル | システム | 読み込みタイミング | 説明 |
---|---|---|---|
~/.bash_profile |
Bash (ログインシェル) | ログインシェル起動時 | ログインユーザー専用の設定ファイル - ~/.bash_login や ~/.profile より優先- ~/.bashrc を読み込むよう記述されることが多い |
~/.bash_login |
Bash (ログインシェル) | ログインシェル起動時 |
~/.bash_profile が存在しない場合に読み込まれるログインユーザー専用の設定ファイル- 主に古い環境で使用される |
~/.profile |
Bash (ログインシェル) | ログインシェル起動時 |
~/.bash_profile や ~/.bash_login が存在しない場合に読み込まれるログインユーザー専用の設定ファイル- Dashなどのシェルでも使用される |
~/.bashrc |
Bash (対話シェル) | 対話シェル起動時 | 対話 Bash シェル起動時に読み込まれる設定ファイル - エイリアスや関数定義などを記述 |
~/.bash_logout |
Bash (ログインシェル) | ログインシェル終了時 | ログアウト時に実行されるユーザー専用のシェルスクリプト - 一時ファイルの削除や画面のクリアなどに使用 |
~/.bash_history |
Bash | シェル終了時(保存) / 起動時(読み込み) | コマンド履歴を保存するファイル - .bashrc や HISTFILE によって指定されることが多い |
GnuPG
ディレクトリ/ファイル | システム | 読み込みタイミング | 説明 |
---|---|---|---|
~/.gnupg/ |
GnuPG | GnuPGコマンド実行時 | ユーザー単位のGPG(PGP)設定・鍵・信頼情報などを保存するディレクトリ - 権限は 700 が推奨される(他人に読まれないように)- 初回実行時に自動生成される |
SSH
ディレクトリ/ファイル | システム | 読み込みタイミング | 説明 |
---|---|---|---|
~/.ssh/authorized_keys |
OpenSSH | SSH接続時(サーバー側) | サーバーがクライアントの公開鍵を照合するために使用するファイル - このファイルに登録された公開鍵を持つクライアントのみ接続可能 - 各行に1鍵ずつ記載される( ssh-rsa AAAAB3N... )- パーミッションは 600 が推奨される(所有者以外読み取り不可) |
~/.ssh/id_rsa |
OpenSSH | SSH接続時(クライアント側) | クライアントの秘密鍵を格納するファイル(非公開鍵) - ssh コマンド実行時、-i オプションやデフォルトで読み込まれる- 絶対に他人に見せてはいけない - パーミッションは 600 である必要がある(セキュリティ上の制約) |
~/.ssh/id_rsa.pub |
OpenSSH |
ssh-copy-id や公開鍵登録時 |
id_rsa に対応する公開鍵ファイル- 内容をコピーして authorized_keys に追記することで、接続が許可される- 公開しても問題ない情報 - 通常、 ssh-keygen でid_rsa とセットで生成される |
/usr
ディレクトリ | 由来 | 説明 |
---|---|---|
/usr/share/zoneinfo/Asia/Tokyo |
zone information database | タイムゾーン設定ファイル(日本標準時) - /etc/localtime にリンクされることが多い |
/var
ジョブスケジューリング
ディレクトリ | 由来 | 説明 |
---|---|---|
/var/spool/cron |
user cron spool directory | - 各ユーザー専用の crontab ファイルが格納されるディレクト - ユーザーごとにファイルが作成され、 crontab -e で編集される内容が保存される- 例: /var/spool/cron/root は root ユーザーの定期ジョブ設定ファイル |
システムログ設定
ディレクトリ | 由来 | 説明 |
---|---|---|
/var/log/journal |
persistent journal logs |
systemd-journald の永続的なログ保存ディレクトリ- 再起動後もログを保持する - 権限: root と systemd-journal グループのみ閲覧可能 |
/var/run/utmp |
user login tracking | - 現在ログイン中のユーザー情報を保持する一時ファイル - who , w , uptime コマンドの情報源- 再起動で内容は消える(揮発性) |
/run
システムログ設定
ディレクトリ | 由来 | 説明 |
---|---|---|
/run/log/journal |
volatile journal logs | 一時的なログ保存ディレクトリ - デフォルトで使用される - 再起動すると内容は失われる(RAM上のため) |
/etc
Bash
ディレクトリ/ファイル | システム | 読み込みタイミング | 説明 |
---|---|---|---|
/etc/profile |
Bash (ログインシェル) | ログインシェル起動時 | システム全体のログインシェル設定ファイル - 全ユーザーに共通 - 環境変数や PATH の初期化などに使用 |
/etc/bash.bashrc |
Bash | ログインシェル起動時 | Debian/Ubuntu 系で使用される - システム全体の非ログインシェル向け初期化設定に使用される |
/etc/bashrc |
Bash | 対話シェル起動時 | Red Hat 系ディストリビューションでよく使われる - ~/.bashrc から読み込まれることが多い- エイリアスや関数の定義などを記述 |
X
ディレクトリ/ファイル | システム | 読み込みタイミング | 説明 |
---|---|---|---|
/etc/X11/xorg.conf |
X.Org (X サーバ) | X サーバ起動時 | X サーバ全体の設定ファイル(モニター、キーボード、マウス、ドライバなど) - Section "セクション名" から始まり、EndSection で終わる |
/etc/X11/xorg.conf.d/ |
X.Org (X サーバ) | X サーバ起動時 | 個別の設定ファイルを配置するディレクトリ - *.conf ファイルを読み込み順に処理- /etc/X11/xorg.conf より優先される場合もある |
~/.xsession-errors |
X クライアント(ユーザー環境) | X セッション開始時 | ユーザーの X セッションで発生した標準出力・標準エラーのログを保存するファイル - .xsession や .xinitrc の出力がここに記録される |
初期化システム
ディレクトリ/ファイル | 由来 | システム | 説明 |
---|---|---|---|
/etc/inittab |
initialization table | SysVinit |
編集可 システムの初期化設定ファイル |
/etc/rc[0-6].d |
runcom | SysVinit | システム起動時のランレベル設定ファイル e.g. /etc/rc1.d/K01bluetooth - 1文字目: S(Start: サービスを起動) - 1文字目: K(Kill: サービスを停止) - 数字: 実行優先順位 - サービス名: 任意 |
/etc/passwd |
password | SysVinit | システムユーザーの情報を保持するファイル - ユーザー名 - パスワード(暗号化されている場合) - UID、GID などを - パーミッション: -rw-r--r--
|
/etc/systemd/system |
system daemon system-specific configuration | systemd |
編集可 - システムのユニット設定ファイル - /lib/systemd/system を上書き |
/etc/systemd/system/default.target |
default target | systemd | システム起動時に読み込まれるデフォルトターゲットを指すシンボリックリンク - 変更: ln -s /lib/systemd/system/graphical.target /etc/systemd/system/default.target - 変更: systemctl set-default
|
/etc/systemd/system/*.timer |
timer unit | systemd | Timer Unitの定義ファイル - .service ファイルと対になる- cron の代替として使える- 設定例: OnCalendar=daily - 実行例: systemctl enable backup.timer
|
ジョブスケジューリング
ディレクトリ/ファイル | 由来 | システム | 説明 |
---|---|---|---|
/etc/at.allow |
allow list for at | at | - at コマンドによるジョブ登録を許可するユーザーを列挙するファイル- 存在する場合、 /etc/at.deny は無視される |
/etc/at.deny |
deny list for at | at | - at コマンドを禁止するユーザーを列挙するファイル- /etc/at.allow が存在しないときのみ有効 |
/etc/cron.allow |
allow list for cron | cron | - crontab コマンドを使ったジョブ登録を許可するユーザーを列挙するファイル- 存在する場合、 /etc/cron.deny は無視される |
/etc/cron.deny |
deny list for cron | cron | - crontab コマンドを禁止するユーザーを列挙するファイル- /etc/cron.allow が存在しないときのみ有効 |
/etc/crontab |
cron table | cron | - システム全体の cron ジョブを定義する設定ファイル - ユーザー指定フィールドを含む |
/etc/cron.hourly/ |
hourly job directory | cron | - 毎時実行されるスクリプトを配置するディレクトリ |
/etc/cron.daily/ |
daily job directory | cron | - 毎日実行されるスクリプトを配置するディレクトリ |
/etc/cron.weekly/ |
weekly job directory | cron | - 毎週実行されるスクリプトを配置するディレクトリ |
/etc/cron.monthly/ |
monthly job directory | cron | - 毎月実行されるスクリプトを配置するディレクトリ |
/etc/cron.d/ |
cron directories | cron | - 個別の cron 設定ファイルを配置するディレクトリ - /etc/crontab と同様の形式(ユーザーフィールドあり) |
/var/spool/cron/ |
per-user crontab | cron | - 各ユーザー専用の crontab ファイルが格納されるディレクトリ - 例: /var/spool/cron/user1 に user1 のジョブが保存される(crontab -e で作成) |
ローカリゼーション
ディレクトリ | 由来 | 説明 |
---|---|---|
/etc/localtime |
local time |
システムが参照する現在のローカルタイム設定ファイル - 通常は /usr/share/zoneinfo/ 配下のタイムゾーンファイルへのシンボリックリンク |
/etc/timezone |
time zone name |
タイムゾーン名を文字列として保持するテキストファイル(Debian系で使用) - 例: Asia/Tokyo
|
/etc/locale.conf |
locale settings |
システム全体のロケール(言語/地域設定)を定義するファイル - 例: LANG=ja_JP.UTF-8 - systemdベースのシステムで使用される標準設定場所 |
クロック設定 (NTP)
ディレクトリ | 由来 | 説明 |
---|---|---|
/etc/ntp.conf |
NTP config | NTP(Network Time Protocol)の設定ファイル - システムクロックをインターネット上の時刻サーバと同期する設定を行う - 例: server 0.ntp.nict.jp - 例: server 0.pool.ntp.org
|
/etc/chrony.conf |
Chrony config | Chrony による時刻同期設定ファイル - ntpd の代替として使われる軽量・高速な NTP クライアント/サーバ- server 、pool 、peer などで NTP サーバを指定 |
システムログ設定
ディレクトリ | 由来 | 説明 |
---|---|---|
/etc/rsyslog.conf |
rsyslog config |
rsyslog の設定ファイル- 各種ログメッセージの収集・分類・出力先を設定 - 例: authpriv.* /var/log/secure (認証関連ログを secure に保存) |
/etc/logrotate.conf |
log rotation |
logrotate の設定ファイル- ログファイルのローテーション(定期的な圧縮・削除・保存)の動作を制御 - ローテーション間隔や保持数、圧縮の有無などを指定 - 個別設定は /etc/logrotate.d/ 配下に記述 |
/etc/systemd/journald.conf |
journal config |
systemd-journald の設定ファイル- バイナリログの保存先・保存期間・サイズ制限などを設定 - 例: Storage=persistent で /var/log/journal/ に永続保存 |
プリンタ管理
ディレクトリ | 由来 | 説明 |
---|---|---|
/etc/cups/cupsd.conf |
CUPS daemon config | CUPS デーモン(cupsd )のメイン設定ファイル- ポート番号・アクセス制御・ログの保存場所などを定義 - Webインターフェース - http://localhost:631の有効化もここで設定 |
/etc/cups/ppd/ |
PPD (PostScript Printer Description) | 各プリンタごとの PPDファイルを格納するディレクトリ - プリンタの機能(解像度、用紙サイズ、オプションなど)を記述したファイル - プリンタを追加するとここに自動でファイルが生成される |
/etc/cups/printers.conf |
printers config | 登録済みプリンタの設定ファイル - 各プリンタの名称、デバイスURI、デフォルトプリンタなどの情報を保持 - lpadmin や Web UI で変更するとこのファイルが更新される |
ネットワーク設定
ファイル名 | 説明 |
---|---|
/etc/hostname |
ホスト名を設定 |
例:Debian
|
|
/etc/sysconfig/network |
ホスト名を設定(RHEL系) ネットワーク機能の有効/無効を設定 ゲートウェイを設定 |
例:NETWORKING=yes HOSTNAME=CentOS GATEWAY=192.168.1.1
|
|
/etc/hosts |
ホスト名とIPアドレスを対応付け |
例:112.78.124.10 ping-t.com 192.168.1.100 FileServer
|
|
/etc/nsswitch.conf |
ホスト名解決やサービス名解決の優先順序を指定 |
例:hosts: files dns services: files
|
|
/etc/resolv.conf |
DNSサーバや検索ドメインを指定する設定ファイル |
例:nameserver 192.168.1.1 domain ping-t.com search ex1.com ex2.com
|
|
/etc/services |
ポート番号とサービス名の対応表を定義するファイル |
例:telnet 23/tcp
|
DNS
ディレクトリ | 由来 | 説明 |
---|---|---|
/etc/resolv.conf |
resolver config | 名前解決時に参照するDNSサーバのIPアドレスを指定 - nameserver : DNSサーバのIPアドレス(最大3つ)- domain : デフォルトドメインを指定(search と併用不可)- search : ドメインを指定(最大6つ) |
/etc/nsswitch.conf |
Name Service Switch config | 名前解決やユーザー情報の取得時に、どの順番で情報源(files, dns, ldapなど)を参照するかを指定 - passwd : ユーザーアカウント情報- group : グループ情報- shadow : パスワード情報- hosts : ホスト名とIPアドレスの対応関係 |
スーパーサーバ
ディレクトリ | 由来 | 説明 |
---|---|---|
/etc/hosts.allow |
TCP Wrappers 許可設定 | サービスへのアクセスを許可するホストを指定するファイル - 対象サービス名とホスト(IPやドメイン)を記述 - ALL: 192.168.1. のように部分一致も可能 |
/etc/hosts.deny |
TCP Wrappers 拒否設定 | サービスへのアクセスを拒否するホストを指定するファイル - hosts.allow で許可されないホストに対して適用される- 通常は ALL: ALL で全拒否を記述 |
/etc/xinetd.conf |
xinetd config(全体設定) |
xinetd のグローバル設定ファイル- 全サービス共通のログ出力・接続制限・読み込むディレクトリの指定を行う - includedir /etc/xinetd.d などが記述される |
/etc/xinetd.d |
xinetd daemon services dir |
xinetd で管理される各サービスごとの設定ファイルを格納するディレクトリ- telnet や rsync などのサービス単位でファイルが存在する |
SSH
ディレクトリ | 由来 | 説明 |
---|---|---|
/etc/ssh/sshd_config |
SSH Daemon config | SSHサーバ設定ファイル 主な項目: - Protocol : SSHのバージョン指定(通常は 2 )- PermitRootLogin : rootログインの可否(no 推奨)- PubkeyAuthentication : 公開鍵認証の使用有無- AuthorizedKeysFile : 公開鍵を格納するユーザごとのファイルパス指定(通常は ~/.ssh/authorized_keys ) |
Ping-t
/home
GnuPG
SSH
/usr
/var
Bash
- 4705_~/.bash_logout, ~/.bash_history
- 4706_~/.bashrc
- 5069_/etc/profile, ~/.bash_profile, ~/.bash_login, ~/.profile
X
初期化システム
ジョブスケジューリング
ローカリゼーション
クロック設定
システムログ設定
プリンタ管理
ネットワーク設定
- 4568_/etc/hosts
- 4674_/etc/hosts
- 4578_/etc/hostname
- 4581_/etc/hostname, /etc/sysconfig/network
- 4595_/etc/sysconfig/network
- 4537_/etc/services
DNS
- 4577_/etc/resolv.conf
- 4724_/etc/resolv.conf
- 4944_/etc/resolv.conf
- 5002_/etc/resolv.conf
- 5061_/etc/resolv.conf
- 4722_/etc/nsswitch.conf
- 4723_/etc/nsswitch.conf
- 4941_/etc/nsswitch.conf
スーパーサーバ
SSH