AlmaLinux 10 総合ガイド 付録C: 重要な設定ファイル一覧

記事内に広告が含まれています。

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の設定ミスでシステムが起動しなくなった場合は、以下の手順で復旧します。

  1. レスキューモードまたはシングルユーザーモードで起動
  2. ルートファイルシステムを読み書き可能でマウント
# mount -o remount,rw /
  1. バックアップから設定ファイルを復元
# cp /etc/fstab.backup /etc/fstab
  1. システムを再起動
# reboot

設定ファイル編集のチェックリスト

✓ 編集前チェックリスト

  • □ バックアップを作成した
  • □ 現在のパーミッションを確認した
  • □ (SSHの場合)別のセッションを開いている

✓ 編集後チェックリスト

  • □ 構文チェックを実行した(該当する場合)
  • □ 適切な方法で設定を反映した
  • □ サービスの状態を確認した
  • □ 期待通りに動作することを確認した

次のステップ

この付録は、設定ファイルのクイックリファレンスです。各ファイルの詳細な設定方法や実践的な使い方については、本編の該当章を参照してください。また、man コマンドで各設定ファイルの詳細なドキュメントを確認できます。

# 設定ファイルのマニュアルを表示(セクション5)
$ man 5 fstab
$ man 5 passwd
$ man 5 sshd_config
Linux