AlmaLinux 10 総合ガイド
付録C: 重要な設定ファイル一覧
この付録は、AlmaLinux 10で使用する主要な設定ファイルのクイックリファレンスです。「あの設定ファイルはどこにあったか」「どんな書式だったか」を素早く確認するために活用してください。
この付録の使い方
- 設定を変更したいときに、まずここで該当ファイルを確認
- 各ファイルの役割と書式を把握
- 詳細な設定方法は本編の該当章を参照
⚠️ 重要: 設定ファイルを編集する前に、必ずバックアップを作成してください。設定ミスはシステムの動作不良や起動失敗の原因となります。詳細はC.8「各ファイルの編集時の注意点」を参照してください。
C.1 システム設定
システムの基本動作に関わる設定ファイルです。
| ファイルパス | 役割 | 関連サービス/コマンド | 参照 |
|---|---|---|---|
/etc/fstab |
ファイルシステムの自動マウント設定 | mount, systemd | 第4章 |
/etc/hostname |
ホスト名の設定 | hostnamectl | 第6章 |
/etc/hosts |
ローカルの名前解決 | (システム全体) | 第6章 |
/etc/locale.conf |
システムロケール設定 | localectl | 第1章 |
/etc/vconsole.conf |
コンソールのキーマップ設定 | localectl | 第1章 |
/etc/sysctl.conf |
カーネルパラメータの設定 | sysctl | (言及のみ) |
/etc/fstab – ファイルシステムマウント設定
役割: システム起動時に自動マウントするファイルシステムを定義します。
書式: スペースまたはタブ区切りの6フィールド
| フィールド | 説明 | 例 |
|---|---|---|
| 1. デバイス | マウントするデバイス(UUID推奨) | UUID=xxxx-xxxx |
| 2. マウントポイント | マウント先のディレクトリ | /mnt/data |
| 3. ファイルシステム | ファイルシステムの種類 | xfs, ext4 |
| 4. オプション | マウントオプション | defaults, noatime |
| 5. dump | バックアップ対象(通常0) | 0 |
| 6. fsck | 起動時チェック順序(ルートは1、他は2または0) | 0 |
設定例:
# <device> <mount> <type> <options> <dump> <pass>
UUID=12345678-1234-1234-1234-123456789abc /mnt/data xfs defaults 0 0
編集後の反映: sudo mount -a で設定をテスト(エラーがないか確認)、または再起動
⚠️ 注意: 設定ミスはシステム起動不能の原因となります。編集前に必ずバックアップを作成してください。
詳細: 第4章「4.6 /etc/fstab による自動マウント」参照
/etc/hostname – ホスト名設定
役割: システムのホスト名を定義します。
書式: ホスト名のみを1行で記述
webserver01
編集方法: hostnamectl set-hostname コマンドの使用を推奨
$ sudo hostnamectl set-hostname webserver01
詳細: 第6章「6.8 hostnameとhostsファイル」参照
/etc/hosts – ローカル名前解決
役割: DNSを使わないローカルでのホスト名とIPアドレスの対応を定義します。DNSより優先して参照されます。
書式: IPアドレス、ホスト名、エイリアス(スペースまたはタブ区切り)
127.0.0.1 localhost localhost.localdomain
::1 localhost localhost.localdomain
# 内部サーバー
192.168.1.101 dbserver01
192.168.1.102 webserver02
編集後の反映: 即座に反映(サービス再起動不要)
詳細: 第6章「6.8.3 /etc/hostsファイルの役割」参照
/etc/locale.conf – ロケール設定
役割: システムの言語、地域設定を定義します。
書式: key=value形式
LANG=ja_JP.UTF-8
編集方法: localectl set-locale コマンドの使用を推奨
詳細: 第1章参照
C.2 ネットワーク
ネットワーク接続とファイアウォールに関する設定ファイルです。
| ファイルパス | 役割 | 関連サービス/コマンド | 参照 |
|---|---|---|---|
/etc/NetworkManager/system-connections/*.nmconnection |
ネットワーク接続プロファイル | NetworkManager, nmcli | 第6章 |
/etc/resolv.conf |
DNS設定(NetworkManager管理) | NetworkManager | 第6章 |
/etc/firewalld/firewalld.conf |
firewalldのメイン設定 | firewalld, firewall-cmd | 第6章 |
/etc/firewalld/zones/*.xml |
ファイアウォールゾーン設定 | firewalld, firewall-cmd | 第6章 |
/etc/chrony.conf |
時刻同期(NTP)設定 | chronyd, chronyc | 第6章 |
/etc/NetworkManager/system-connections/*.nmconnection – 接続プロファイル
役割: 各ネットワーク接続の詳細設定を保存します。
書式: INI形式(キーファイル形式)
[connection]
id=eth0
uuid=12345678-1234-1234-1234-123456789012
type=ethernet
interface-name=eth0
[ethernet]
[ipv4]
method=manual
address1=192.168.1.100/24,192.168.1.1
dns=8.8.8.8;8.8.4.4;
[ipv6]
method=auto
主要なセクションと設定項目:
| セクション | 項目 | 説明 |
|---|---|---|
| [connection] | id | 接続名 |
| [connection] | type | 接続タイプ(ethernet, wifi等) |
| [ipv4] | method | auto(DHCP)またはmanual(静的IP) |
| [ipv4] | address1 | IPアドレス/プレフィックス,ゲートウェイ |
| [ipv4] | dns | DNSサーバー(セミコロン区切り) |
編集方法: nmcli connection modify コマンドの使用を推奨。直接編集した場合は nmcli connection reload で再読み込み
詳細: 第6章「6.4 NetworkManagerによるネットワーク設定」参照
/etc/resolv.conf – DNS設定
役割: DNSサーバーのアドレスを定義します。
書式: キーワード形式
# Generated by NetworkManager
nameserver 8.8.8.8
nameserver 8.8.4.4
⚠️ 注意: このファイルはNetworkManagerによって自動管理されます。直接編集しても上書きされる可能性があります。DNS設定の変更はnmcliコマンドで行ってください。
詳細: 第6章参照
/etc/chrony.conf – 時刻同期設定
役割: NTPサーバーの指定など、時刻同期の設定を定義します。
書式: キーワード形式
# NTPサーバーの指定
pool 2.almalinux.pool.ntp.org iburst
server ntp.nict.jp iburst
# ドリフトファイル
driftfile /var/lib/chrony/drift
# 大きな時刻ずれを許容する設定
makestep 1.0 3
# RTCとの同期
rtcsync
主要な設定項目:
| 項目 | 説明 |
|---|---|
| pool / server | 参照するNTPサーバー |
| iburst | 起動時に高速同期を行う |
| driftfile | 時刻ずれの傾向を記録するファイル |
| makestep | 指定以上のずれがあれば即座に修正 |
編集後の反映: sudo systemctl restart chronyd
詳細: 第6章「6.7 時刻同期の設定(chrony)」参照
C.3 ユーザー・認証
ユーザーアカウントと認証に関する設定ファイルです。
| ファイルパス | 役割 | 関連サービス/コマンド | 参照 |
|---|---|---|---|
/etc/passwd |
ユーザーアカウント情報 | useradd, usermod, userdel | 第7章 |
/etc/shadow |
パスワードハッシュ | passwd, chage | 第7章 |
/etc/group |
グループ情報 | groupadd, groupmod, groupdel | 第7章 |
/etc/sudoers |
sudo権限設定 | visudo | 第7章 |
/etc/sudoers.d/* |
sudo権限設定(追加分) | visudo | 第7章 |
/etc/login.defs |
ログイン設定のデフォルト値 | useradd | (言及のみ) |
/etc/passwd – ユーザー情報
役割: システム上のすべてのユーザーアカウント情報を格納します。
書式: コロン区切りの7フィールド
ユーザー名:x:UID:GID:コメント:ホームディレクトリ:シェル
例:
root:x:0:0:root:/root:/bin/bash
developer:x:1000:1000:Developer Account:/home/developer:/bin/bash
各フィールドの意味:
| 位置 | 内容 | 説明 |
|---|---|---|
| 1 | ユーザー名 | ログインに使用する名前 |
| 2 | パスワード | x(実際のハッシュは/etc/shadowに格納) |
| 3 | UID | ユーザーID |
| 4 | GID | プライマリグループID |
| 5 | GECOS | コメント(フルネームなど) |
| 6 | ホームディレクトリ | ログイン時の作業ディレクトリ |
| 7 | シェル | ログインシェル |
編集方法: useradd, usermod コマンドの使用を推奨。直接編集は避ける
詳細: 第7章「7.1 ユーザー管理とアクセス制御」参照
/etc/shadow – パスワードハッシュ
役割: ユーザーのパスワードハッシュと有効期限情報を格納します。
書式: コロン区切りの9フィールド
ユーザー名:パスワードハッシュ:最終変更日:最小日数:最大日数:警告日数:無効日数:期限:予約
パーミッション: ----------(000)または -r--------(400)、rootのみ読み取り可能
⚠️ 重要: このファイルには機密情報(パスワードハッシュ)が含まれています。直接編集せず、passwd コマンドを使用してください。
詳細: 第7章参照
/etc/sudoers – sudo権限設定
役割: どのユーザーがsudoコマンドでどの操作を実行できるかを定義します。
書式: 独自形式
# rootはすべてのコマンドを実行可能
root ALL=(ALL) ALL
# wheelグループのメンバーはすべてのコマンドを実行可能
%wheel ALL=(ALL) ALL
# developerユーザーは特定コマンドのみ実行可能
developer ALL=(ALL) /usr/bin/systemctl restart httpd
編集方法: 必ず visudo コマンドを使用(構文チェック付き)
$ sudo visudo
追加の設定ファイルは /etc/sudoers.d/ ディレクトリに配置することも可能です。
# /etc/sudoers.d/developer
developer ALL=(ALL) NOPASSWD: /usr/bin/systemctl status *
⚠️ 注意: 構文エラーがあるとsudoが使えなくなります。必ずvisudoを使用してください。
詳細: 第7章「7.2 sudo権限の管理」参照
C.4 サービス
systemdサービスと各種デーモンの設定ファイルです。
| ファイルパス | 役割 | 関連サービス/コマンド | 参照 |
|---|---|---|---|
/etc/systemd/system/*.service |
カスタムサービスユニット | systemctl | 第5章 |
/usr/lib/systemd/system/*.service |
システム標準サービスユニット | systemctl | 第5章 |
/etc/systemd/journald.conf |
journaldログ設定 | journalctl | 第5章, 第8章 |
/etc/ssh/sshd_config |
SSHサーバー設定 | sshd | 第7章 |
/etc/ssh/ssh_config |
SSHクライアント設定 | ssh | 第7章 |
/etc/httpd/conf/httpd.conf |
Apache HTTPサーバー設定 | httpd | 第10章 |
/etc/nginx/nginx.conf |
Nginx設定 | nginx | 第10章 |
/etc/systemd/system/*.service – カスタムサービスユニット
役割: カスタムサービスの定義や、システム標準ユニットの上書き設定を格納します。
書式: INI形式(セクションとキー=値)
[Unit]
Description=My Custom Service
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/bin/myapp
Restart=on-failure
User=myuser
[Install]
WantedBy=multi-user.target
主要なセクションと設定項目:
| セクション | 項目 | 説明 |
|---|---|---|
| [Unit] | Description | サービスの説明 |
| [Unit] | After | このユニットより先に起動すべきユニット |
| [Service] | Type | サービスの種類(simple, forking等) |
| [Service] | ExecStart | 起動コマンド |
| [Service] | Restart | 再起動ポリシー |
| [Install] | WantedBy | 有効化時に関連付けるターゲット |
編集後の反映:
$ sudo systemctl daemon-reload
$ sudo systemctl restart サービス名
詳細: 第5章「5.7 カスタムサービスの作成」参照
/etc/ssh/sshd_config – SSHサーバー設定
役割: SSHサーバー(sshd)の動作を設定します。
書式: キーワード形式(キー 値)
# ポート番号
Port 22
# rootログインの禁止
PermitRootLogin no
# パスワード認証の設定
PasswordAuthentication no
# 公開鍵認証
PubkeyAuthentication yes
# 空パスワードの禁止
PermitEmptyPasswords no
主要な設定項目:
| 項目 | デフォルト | 推奨設定 | 説明 |
|---|---|---|---|
| Port | 22 | 22または変更 | 待ち受けポート |
| PermitRootLogin | prohibit-password | no | rootログインの許可 |
| PasswordAuthentication | yes | no | パスワード認証の許可 |
| PubkeyAuthentication | yes | yes | 公開鍵認証の許可 |
構文チェック:
$ sudo sshd -t
編集後の反映:
$ sudo systemctl reload sshd
⚠️ 注意: 設定変更前に、必ず別のSSHセッションを開いておいてください。設定ミスでログインできなくなった場合の保険になります。
詳細: 第7章「7.3 SSHによるリモートアクセス」参照
C.5 ログ
ログ管理に関する設定ファイルと主要なログファイルです。
設定ファイル
| ファイルパス | 役割 | 関連サービス/コマンド | 参照 |
|---|---|---|---|
/etc/logrotate.conf |
ログローテーションのメイン設定 | logrotate | 第9章 |
/etc/logrotate.d/* |
アプリケーション別ログローテーション設定 | logrotate | 第9章 |
/etc/rsyslog.conf |
rsyslogの設定 | rsyslogd | 第8章 |
主要なログファイル(参照用)
| ファイルパス | 内容 | 確認コマンド | 参照 |
|---|---|---|---|
/var/log/messages |
システム全般のログ | less, tail, journalctl | 第8章 |
/var/log/secure |
認証関連のログ | less, tail, journalctl | 第8章 |
/var/log/audit/audit.log |
SELinux監査ログ | ausearch, aureport | 第7章, 第8章 |
/var/log/cron |
cron実行ログ | less, tail | 第5章, 第8章 |
/var/log/dnf.log |
パッケージ管理ログ | less, tail | 第3章 |
/etc/logrotate.conf – ログローテーション設定
役割: ログファイルの自動圧縮・削除の設定を定義します。
書式: ディレクティブ形式
# ローテーション周期
weekly
# 保持する世代数
rotate 4
# ローテーション後に新しいログファイルを作成
create
# 圧縮する
compress
# アプリケーション別設定を読み込み
include /etc/logrotate.d
アプリケーション別設定例(/etc/logrotate.d/myapp):
/var/log/myapp/*.log {
daily
rotate 7
compress
delaycompress
missingok
notifempty
create 0640 myuser mygroup
postrotate
/usr/bin/systemctl reload myapp > /dev/null 2>&1 || true
endscript
}
テスト実行:
# デバッグモード(実際には実行しない)
$ sudo logrotate -d /etc/logrotate.conf
# 強制実行
$ sudo logrotate -f /etc/logrotate.conf
詳細: 第9章「9.7 ログローテーションの設定」参照
C.6 パッケージ管理
パッケージ管理に関する設定ファイルです。
| ファイルパス | 役割 | 関連サービス/コマンド | 参照 |
|---|---|---|---|
/etc/dnf/dnf.conf |
dnf5のメイン設定 | dnf5 | 第3章 |
/etc/yum.repos.d/*.repo |
リポジトリ設定 | dnf5 | 第3章 |
/etc/dnf/dnf.conf – dnf5設定
役割: パッケージマネージャdnf5の動作設定を定義します。
書式: INI形式
[main]
gpgcheck=1
installonly_limit=3
clean_requirements_on_remove=True
best=True
skip_if_unavailable=False
主要な設定項目:
| 項目 | 説明 | デフォルト |
|---|---|---|
| gpgcheck | GPG署名の検証を行うか | 1(有効) |
| installonly_limit | 保持するカーネルの世代数 | 3 |
| clean_requirements_on_remove | 削除時に不要な依存関係も削除 | True |
| best | 最新バージョンを優先 | True |
詳細: 第3章参照
/etc/yum.repos.d/*.repo – リポジトリ設定
役割: パッケージを取得するリポジトリの情報を定義します。
書式: INI形式
[baseos]
name=AlmaLinux $releasever - BaseOS
baseurl=https://repo.almalinux.org/almalinux/$releasever/BaseOS/$basearch/os/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-10
主要な設定項目:
| 項目 | 説明 |
|---|---|
| name | リポジトリの表示名 |
| baseurl / metalink | リポジトリのURL |
| enabled | 有効/無効(1/0) |
| gpgcheck | GPG署名検証の有効/無効 |
| gpgkey | GPG公開鍵のパス |
リポジトリ一覧の確認:
$ dnf5 repolist
詳細: 第3章「3.3 リポジトリの管理」参照
C.7 セキュリティ
セキュリティに関する設定ファイルです。
| ファイルパス | 役割 | 関連サービス/コマンド | 参照 |
|---|---|---|---|
/etc/selinux/config |
SELinuxのメイン設定 | getenforce, setenforce | 第7章 |
~/.ssh/authorized_keys |
SSH公開鍵(ユーザーごと) | ssh, sshd | 第7章 |
~/.ssh/id_ed25519, ~/.ssh/id_rsa |
SSH秘密鍵(ユーザーごと) | ssh, ssh-keygen | 第7章 |
~/.ssh/known_hosts |
接続先ホストの公開鍵 | ssh | 第7章 |
/etc/selinux/config – SELinux設定
役割: SELinuxの動作モードを設定します。
書式: key=value形式
# SELinuxの動作モード
SELINUX=enforcing
# SELinuxのポリシータイプ
SELINUXTYPE=targeted
SELINUXの値:
| 値 | 説明 |
|---|---|
| enforcing | SELinuxポリシーを強制(推奨) |
| permissive | ポリシー違反を記録するが強制しない |
| disabled | SELinuxを無効化(非推奨) |
現在のモード確認:
$ getenforce
Enforcing
一時的なモード変更:
$ sudo setenforce 0 # Permissiveモードへ
$ sudo setenforce 1 # Enforcingモードへ
⚠️ 重要: SELinuxを無効化(disabled)に設定することは、セキュリティ上推奨されません。問題が発生した場合は、permissiveモードで原因を特定し、適切な設定変更で対処してください。
詳細: 第7章「7.4 SELinuxの基礎」参照
~/.ssh/ ディレクトリ – SSH鍵関連
ディレクトリとファイルのパーミッション:
| パス | パーミッション | 説明 |
|---|---|---|
~/.ssh/ |
700 (drwx——) | ディレクトリ |
~/.ssh/authorized_keys |
600 (-rw——-) | 許可された公開鍵のリスト |
~/.ssh/id_ed25519 |
600 (-rw——-) | 秘密鍵 |
~/.ssh/id_ed25519.pub |
644 (-rw-r–r–) | 公開鍵 |
~/.ssh/known_hosts |
644 (-rw-r–r–) | 接続先ホストの公開鍵 |
⚠️ 注意: パーミッションが緩すぎると、SSHはセキュリティ上の理由から鍵の使用を拒否します。秘密鍵は必ず600、ディレクトリは700に設定してください。
詳細: 第7章「7.3.5 公開鍵認証の設定」参照
C.8 各ファイルの編集時の注意点
設定ファイルの編集は、システムの動作に直接影響します。以下の注意点を守ることで、トラブルを防ぎ、問題が発生した場合も迅速に復旧できます。
編集前の準備
1. バックアップの作成
設定ファイルを編集する前に、必ずバックアップを作成してください。
# 日付付きでバックアップを作成
$ sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.backup.$(date +%Y%m%d)
# バックアップの確認
$ ls -la /etc/ssh/sshd_config*
-rw-------. 1 root root 3907 Jan 25 10:00 /etc/ssh/sshd_config
-rw-------. 1 root root 3907 Jan 25 10:05 /etc/ssh/sshd_config.backup.20260125
2. ファイルのパーミッション確認
編集前にパーミッションを確認し、編集後も同じパーミッションを維持してください。
$ ls -la /etc/ssh/sshd_config
-rw-------. 1 root root 3907 Jan 25 10:00 /etc/ssh/sshd_config
編集方法
1. sudoを使用した編集
システムの設定ファイルは通常root権限が必要です。
# viで編集
$ sudo vi /etc/ssh/sshd_config
# nanoで編集(初心者向け)
$ sudo nano /etc/ssh/sshd_config
2. 特殊なコマンドを使用する場合
一部のファイルは、専用のコマンドで編集することが推奨されます。
| ファイル | 推奨コマンド | 理由 |
|---|---|---|
| /etc/sudoers | visudo | 構文チェック付きで編集 |
| crontab | crontab -e | 構文チェックと即座の反映 |
| /etc/hostname | hostnamectl set-hostname | 関連設定も同時に更新 |
| NM接続設定 | nmcli connection modify | 安全な設定変更 |
編集後の確認
1. 構文チェック(該当する場合)
一部のサービスは、設定ファイルの構文チェック機能を持っています。
# SSHサーバー
$ sudo sshd -t
# エラーがなければ何も表示されない
# Apache HTTPサーバー
$ sudo httpd -t
Syntax OK
# Nginx
$ sudo nginx -t
nginx: configuration file /etc/nginx/nginx.conf test is successful
2. 設定の反映
設定ファイルの変更を反映する方法は、サービスによって異なります。
| 反映方法 | コマンド例 | 説明 |
|---|---|---|
| reload | sudo systemctl reload sshd |
設定を再読み込み(接続維持) |
| restart | sudo systemctl restart httpd |
サービスを再起動 |
| daemon-reload | sudo systemctl daemon-reload |
ユニットファイル変更後 |
| 即時反映 | (不要) | /etc/hostsなど一部ファイル |
3. 動作確認
設定変更後は、必ず動作を確認してください。
# サービスの状態確認
$ sudo systemctl status sshd
# ログの確認
$ sudo journalctl -u sshd -n 20 --no-pager
トラブル時の対処
1. バックアップからの復元
# バックアップから復元
$ sudo cp /etc/ssh/sshd_config.backup.20260125 /etc/ssh/sshd_config
# サービスを再起動
$ sudo systemctl restart sshd
2. 設定ミスでシステムが起動しない場合
fstabやGRUBの設定ミスでシステムが起動しなくなった場合は、以下の手順で復旧します。
- レスキューモードまたはシングルユーザーモードで起動
- ルートファイルシステムを読み書き可能でマウント
# mount -o remount,rw /
- バックアップから設定ファイルを復元
# cp /etc/fstab.backup /etc/fstab
- システムを再起動
# reboot
設定ファイル編集のチェックリスト
✓ 編集前チェックリスト
- □ バックアップを作成した
- □ 現在のパーミッションを確認した
- □ (SSHの場合)別のセッションを開いている
✓ 編集後チェックリスト
- □ 構文チェックを実行した(該当する場合)
- □ 適切な方法で設定を反映した
- □ サービスの状態を確認した
- □ 期待通りに動作することを確認した
次のステップ
この付録は、設定ファイルのクイックリファレンスです。各ファイルの詳細な設定方法や実践的な使い方については、本編の該当章を参照してください。また、man コマンドで各設定ファイルの詳細なドキュメントを確認できます。
# 設定ファイルのマニュアルを表示(セクション5)
$ man 5 fstab
$ man 5 passwd
$ man 5 sshd_config
