最終更新日 2025年10月19日

Contents
はじめに
LPIC-102は、Linuxを実務レベルで扱うエンジニアに求められる「運用・設定・トラブル対応」スキルを評価する試験です。
Version 5.0からは、systemd・NetworkManager・firewalld・PAMなど、現行ディストリビューションで主流の構成要素が重点的に出題されています。
本記事では、LPIC102試験(Version 5.0)で頻出の550語を暗記し、最短で合格点に到達するための学習補助として使えるよう設計しました。
よかったら試験の参考にしてみてください!
❶Topic 105:Shells and Shell Scripting(シェルとシェルスクリプト)
本章の暗記のポイントは以下の通りです。
- 条件分岐・ループ構文を「型」で覚える `if [ ]` や `for in do done` など、構文を丸ごと暗記するのが最短ルートです。
特に `[[ ]]` や `$(( ))` などbash独自構文は頻出なので、入力練習で体に覚えさせましょう。 - 変数展開とリダイレクトは「データの流れ」で理解 `>` ・ `>>` ・ `|` ・ `$()` を水の流れに置き換えて考えると、出力の扱いが明確になります。
`2>` や `&>` などエラー出力系も混同しないよう整理を。 - シグナル処理とtrapの挙動を体験 `trap “echo INT” INT` などのスクリプトを自作し、Ctrl + C で反応を確認しましょう。
試験ではシグナル名と動作の関連が狙われます。
| 用語 | 意味 | 主な使い方や構成要素 | 試験でのポイント |
|---|---|---|---|
| shell | コマンドラインインターフェース | bash, sh, zsh, dash など | Linuxではbashが標準。ログインシェルの設定も問われる |
| bash | Bourne Again Shell | .bashrc, .bash_profile, $BASH_VERSION | LPICではbash構文と変数展開の理解が必須 |
| /bin/sh | POSIX互換シェル | 実体はbashやdashなどのリンク | スクリプト冒頭のshebang指定に登場 |
| echo | 標準出力に文字列を出力 | echo "Hello World" | 改行抑制-n、変数展開確認など |
| printf | 書式付き出力 | printf "%s\n" $var | echoより精密な出力制御ができる |
| env | 環境変数一覧を表示 | `env | grep PATH` |
| export | 環境変数を子プロセスに引き継ぐ | export PATH=/usr/local/bin:$PATH | 環境変数の継承に関する理解が問われる |
| set | シェル変数設定やオプション制御 | set -x(トレース) | set -eでエラー時終了など試験頻出 |
| unset | 変数を削除 | unset VAR | exportとの違いを区別する |
| alias | コマンド短縮設定 | alias ll='ls -l' | .bashrc内で設定される |
| unalias | aliasを解除 | unalias ll | 一時的にaliasを無効化する用途 |
| source | スクリプトを現在のシェルで実行 | . ./env.sh | subshellを作らず環境を引き継ぐ |
| subshell | 新しいシェルプロセス | (cd /tmp; ls) | 現在のディレクトリに影響を与えない |
| variable expansion | 変数展開 | $VAR, ${VAR}, ${VAR:-default} | デフォルト値や部分展開も問われる |
| command substitution | コマンド置換 | $(date) または `date` | 出力を変数に格納できる |
| arithmetic expansion | 算術展開 | $((1 + 2)) | 整数計算に利用される |
| positional parameters | 位置パラメータ | $1, $2, $@, $* | スクリプト引数操作で頻出 |
| special parameters | 特殊変数 | $?, $$, $#, $! | $?は直前の終了コードを返す |
| if | 条件分岐構文 | if [ -f /etc/passwd ]; then ... fi | テストコマンドの構文が問われる |
| test | 条件式評価 | test -d /home または [ -d /home ] | ファイル比較・文字列比較の違い |
| [[ ]] | bash拡張条件式 | [[ $a == "yes" ]] | グロブ展開や正規表現マッチが可能 |
| case | 多分岐構文 | case $var in yes) ... ;; *) ... ;; esac | 複数条件を整理する構文 |
| for | 繰り返し構文 | for i in $(seq 1 3); do echo $i; done | 数値・ファイルリストループの理解 |
| while | 条件ループ | while true; do ...; done | 無限ループとbreak構文の使い方 |
| until | 条件が真になるまで繰り返す | until [ -f /tmp/ready ]; do sleep 1; done | whileとの違いに注意 |
| break | ループ脱出 | break | ネスト内でも最内ループを抜ける |
| continue | ループ次の反復へ | continue | breakとの使い分け問題が出る |
| function | 関数定義 | function foo() { echo hi; } | スコープと引数の扱いに注意 |
| return | 関数の戻り値 | return 1 | $?に結果を返す |
| exit | スクリプト終了 | exit 0 | 正常0、異常1以上 |
| shebang | スクリプトの先頭宣言 | #!/bin/bash | 実行するシェル指定に重要 |
| chmod +x | 実行権付与 | chmod +x script.sh | 実行ファイル化の手順で出題あり |
| read | 入力を取得 | read name | 対話式スクリプトで必須 |
| getopts | オプション解析 | while getopts "ab:" opt; do ... | 試験でshiftとの違いを問われる |
| shift | 引数を左にずらす | shift 1 | 引数処理ループで利用 |
| trap | シグナルハンドリング | trap "echo SIGINT" INT | EXIT, SIGTERMも出題される |
| cron | 定期実行 | /etc/crontab, crontab -e | 分・時・日・月・曜日の順を暗記 |
| at | 一度だけの実行 | `echo “ls” | at now + 5 minutes` |
| here document | 複数行入力 | cat <<EOF ... EOF | スクリプトで頻繁に使用 |
| heredoc delimiter | 終端識別子 | EOF, EOTなど | ダブルクォートで展開制御もあり |
| pipelines | パイプライン処理 | `grep root /etc/passwd | cut -d: -f1` |
| redirection | リダイレクト | >, <, >>, 2>, &> | 標準出力/エラー出力の使い分け |
| exec | ファイル記述子操作 | exec 3>file.txt | FD制御問題に出やすい |
| /dev/null | 破棄用デバイス | cmd > /dev/null 2>&1 | 不要出力の捨て方 |
| backslash escape | エスケープシーケンス | \n, \t, \\ | echo -eと組み合わせる |
| basename | ファイル名抽出 | basename /path/to/file | パス処理問題でよく出る |
| dirname | ディレクトリ名抽出 | dirname /path/to/file | basenameとセットで暗記 |
| seq | 数値生成 | seq 1 10 | for文と併用 |
| date | 日付表示 | date +%Y-%m-%d | ログ生成やバックアップスクリプトで使用 |
| sleep | 一時停止 | sleep 5 | スクリプト待機制御 |
| wait | バックグラウンドジョブ待機 | wait PID | 並列処理との関連で出題あり |
| background execution | バックグラウンド実行 | command & | $!でPID取得可能 |
| jobs | バックグラウンドジョブ一覧 | jobs | fg, bgとの連携を理解 |
| fg/bg | フォア/バック制御 | fg %1 | 対話操作問題で出題される |
| history | コマンド履歴 | history 10, !23 | .bash_historyの場所も確認 |
| HISTFILE | 履歴保存ファイル | /home/user/.bash_history | HISTSIZEも覚える |
| PS1 | プロンプト設定 | PS1='\u@\h:\w\$ ' | $PS1構文を暗記 |
| PATH | 実行パス | echo $PATH | パス探索順序に注意 |
| which | コマンドパス表示 | which ls | typeとの違いを確認 |
| type | コマンドの種類判定 | type cd | 内部コマンドか外部か区別できる |
| hash | コマンドキャッシュ | hash -r | パス更新時に利用される |
| source vs exec | 実行方法の違い | sourceは同シェル, execは置換実行 | 問題で選択肢に出る |
| conditional operators | 条件演算子 | &&, ` | |
| subshell grouping | グルーピング | (cd /tmp; ls) | 現在シェルに影響を与えない |
| brace expansion | 波括弧展開 | {a,b,c} | 複数ファイル操作に便利 |
| globbing | ワイルドカード展開 | *, ?, [abc] | set -fで無効化できる |
| tilde expansion | ~展開 | cd ~user | ホームディレクトリ展開 |
| process substitution | プロセス置換 | diff <(ls) <(ls /etc) | bash拡張で出題あり |
| arrays | 配列 | arr=(a b c); echo ${arr[1]} | for i in ${arr[@]}も試験頻出 |
| associative array | 連想配列 | declare -A dict; dict[key]=value | bash 4以降対応。v5.0範囲内 |
| declare | 変数属性設定 | declare -i num=10 | 数値型/配列の宣言で出題 |
| local | 関数内変数スコープ | local var=value | グローバル変数との違い |
| readonly | 読み取り専用設定 | readonly VAR=123 | declare -rと同義 |
| eval | コマンドとして評価 | eval $cmd | 動的実行問題で出る |
| expr | 式評価 | expr 1 + 2 | 古い形式だが試験で残る |
| let | 数値演算 | let sum=a+b | $(( ))との違いに注意 |
| bc | 任意精度電卓 | `echo “2^8” | bc` |
| awk | テキスト処理 | awk '{print $1}' file | 1列抽出など簡単な構文を覚える |
| sed | 置換編集 | sed 's/root/admin/' /etc/passwd | 正規表現を含む問題で頻出 |
| grep | 検索 | grep -E "pattern" file | -i, -v, -rなどのオプション |
| regex | 正規表現 | ^, $, ., *, [] | POSIX正規表現に準拠 |
| xargs | 引数展開 | `find . -name “*.log” | xargs rm` |
| test numeric | 数値比較 | -eq, -ne, -lt, -gt | 文字列比較=とは異なる |
| test string | 文字列比較 | =, !=, -z, -n | スペースに注意 |
| test file | ファイル比較 | -f, -d, -r, -w, -x | ファイル属性確認問題で頻出 |
| IFS | フィールド区切り変数 | IFS=: | readコマンドに影響 |
| shellcheck | スクリプト構文解析 | shellcheck script.sh | Lintツールとして最新試験に追加傾向 |
| bash-completion | 補完機能 | /etc/bash_completion.d/ | 操作性に関する軽い出題あり |
| history expansion | ヒストリ展開 | !!, !$, !n | コマンド履歴呼び出し |
| here string | 入力置換 | grep foo <<< "bar foo baz" | bash特有構文 |
| [[ =~ ]] | 正規表現マッチ | [[ $var =~ ^[0-9]+$ ]] | v5.0でよく問われる |
❷Topic 106:User Interfaces and Desktops(ユーザーインターフェースとデスクトップ)
本章の暗記のポイントは以下の通りです。
- X11とWaylandの関係を図で整理 「X = 古い表示方式」「Wayland = 新世代プロトコル」と覚え、ディスプレイマネージャとの役割分担を意識しましょう。
`DISPLAY` 変数や `.xinitrc` なども必ず押さえて。 - 主要Display Managerの特徴を対比 GDM(GNOME)、SDDM(KDE)、LightDM(軽量)の違いを表で比較して暗記。
設定ファイルのパスとGUI環境の対応が問われやすいです。 - xdg系コマンドは近年頻出 `xdg-open` や `xdg-mime` など、デスクトップ統合コマンド群は出題率上昇中。
「アプリ連携の自動化」がキーワードです。
| 用語 | 意味 | 主な使い方や構成要素 | 試験でのポイント |
|---|---|---|---|
| X Window System | UNIX系のグラフィカルシステム | サーバ:Xorg、クライアント:アプリケーション | XサーバとXクライアントの役割関係を理解 |
| X11 | X Window Systemの通信プロトコル | TCP/Unixソケット経由で通信 | DISPLAY変数を使用して接続 |
| Xorg | 現行のXサーバ実装 | /etc/X11/xorg.conf設定 | 自動設定が主流だが設定項目理解が必要 |
| Wayland | 新世代のディスプレイサーバプロトコル | X11の後継 | GNOME・KDEで採用進行中 |
| Display Manager | ログイン画面を提供するサービス | GDM, LightDM, SDDMなど | systemd連携と設定場所が問われる |
| GDM | GNOME Display Manager | 設定:/etc/gdm/custom.conf | GNOME系環境で使用 |
| LightDM | 軽量ディスプレイマネージャ | 設定:/etc/lightdm/lightdm.conf | UbuntuやXfceで利用される |
| SDDM | Simple Desktop Display Manager | /etc/sddm.conf | KDE Plasmaで標準 |
| XDM | 旧来のDisplay Manager | /etc/X11/xdm/xdm-config | 古典的だが試験対象範囲 |
| startx | GUIセッションを手動起動 | startx ~/.xinitrc | Xサーバとウィンドウマネージャ起動 |
| xinit | Xサーバ起動コマンド | xinit /usr/bin/xterm -- :1 | startxの低レベル版 |
| .xinitrc | Xセッション初期化スクリプト | exec startxfce4などを記述 | 手動起動設定に使う |
| .xsession | ディスプレイマネージャ起動時に読み込む | 同じくセッション内容を記述 | XDM/GDM時に読み込まれる |
| DISPLAY | X接続環境変数 | DISPLAY=:0.0 | リモートX転送にも使用される |
| xhost | Xサーバアクセス制御 | xhost +hostname | セキュリティ上、限定許可が望ましい |
| xauth | X認証管理 | .Xauthorityを扱う | xauth list, merge, addを確認 |
| .Xauthority | X接続用クッキー保存 | ユーザホームに自動生成 | SSH経由転送にも利用される |
| SSH X forwarding | X転送機能 | ssh -X user@host | DISPLAY自動設定される |
| xrandr | 画面解像度・回転変更 | xrandr --output HDMI-1 --mode 1920x1080 | マルチモニタ設定でも出題あり |
| xset | X環境の動的設定 | xset s off, xset dpms force off | 省電力やスクリーンセーバ制御 |
| xinput | 入力デバイス設定 | xinput list | マウスやキーボード設定調整 |
| xmodmap | キーマップ変更 | .Xmodmap | カスタムショートカット設定で出題あり |
| xev | Xイベントモニタ | xev起動でキー入力確認 | キーコードやイベント取得確認 |
| xrdb | Xリソースデータベース操作 | xrdb -merge ~/.Xresources | フォント設定や色設定に関係 |
| ~/.Xresources | Xアプリ設定ファイル | Xft.dpi: 120など | Xtermなどの外観を制御 |
| XTerm | 標準的なXターミナル | xterm -fa 'Monospace' -fs 12 | 軽量環境で使用される |
| xclock | Xテスト用アプリ | GUI確認用 | 動作確認に出題されることあり |
| twm | 伝統的ウィンドウマネージャ | Xorg同梱 | 試験用最小構成に含まれる |
| FVWM | 軽量ウィンドウマネージャ | 設定ファイル~/.fvwmrc | 歴史的存在として出題あり |
| Window Manager | ウィンドウ操作制御 | Metacity, Mutter, KWin, Openbox | デスクトップ環境との違いを理解 |
| Desktop Environment | GUI全体統合環境 | GNOME, KDE, Xfce, LXQt | 基本構成理解(WM+アプリ群) |
| GNOME | GTKベースのデスクトップ環境 | ウィンドウマネージャ: Mutter | Wayland採用デフォルト |
| KDE Plasma | Qtベースの環境 | ウィンドウマネージャ: KWin | SDDMと組み合わせて使用 |
| Xfce | 軽量デスクトップ環境 | startxfce4で起動 | X11ベースで軽量構成 |
| LXQt | Qtベース軽量環境 | startlxqt | LXDEの後継 |
| MATE | GNOME 2系の派生 | mate-session | 古い環境互換向け |
| Cinnamon | GNOME 3派生 | Linux Mintなどで採用 | モダンUIだが構造はGNOME系 |
| Accessibility | アクセシビリティ機能 | スクリーンリーダ、拡大鏡など | GNOME設定で出題傾向 |
| Orca | GNOMEのスクリーンリーダ | orca --setup | 視覚支援関連問題で出題される |
| xsetroot | ルートウィンドウ設定 | xsetroot -solid blue | 背景色変更などで使用 |
| xclip | クリップボード操作 | `echo text | xclip -selection clipboard` |
| xdg-open | デフォルトアプリで開く | xdg-open file.pdf | デスクトップ統合関連の新要素 |
| xdg-mime | MIMEタイプ設定 | xdg-mime query filetype sample.png | ファイル関連付け制御 |
| xdg-settings | システム既定設定操作 | xdg-settings get default-web-browser | 試験でxdg系コマンドが増加傾向 |
| GTK | GIMP Toolkit | GNOME等で使用されるGUIツールキット | GTK2/3/4の違いも軽く出題あり |
| Qt | GUIツールキット(KDE系) | Qt5, Qt6 | GUIフレームワークとして理解 |
| Xresources DPI | 解像度設定 | Xft.dpi: 120 | フォントスケーリング問題 |
| fontconfig | フォント設定ライブラリ | fc-list, fc-cache, fc-match | fc-*コマンドが出題される |
| fc-list | 使用可能フォント一覧 | fc-list :family | フォント検出関連 |
| fc-match | フォント解決確認 | fc-match Arial | 指定フォントが何に置き換わるか確認 |
| fc-cache | フォントキャッシュ再構築 | fc-cache -fv | 新フォントインストール時に実行 |
| xfontsel | フォント選択ツール | xfontsel | X11用旧フォント選択 |
| /etc/X11/xorg.conf | X設定ファイル | InputDevice, Monitor, Screenなど | 最近は自動生成だが構文を理解 |
| /etc/X11/xorg.conf.d/ | 部分設定ディレクトリ | 10-monitor.confなど | 現行Xorgではこちらを使用 |
| InputClass | 入力設定セクション | MatchProduct, Driverなど | xinputと関連 |
| xwininfo | ウィンドウ情報表示 | xwininfo -tree | 画面構成確認で出題あり |
| xdpyinfo | ディスプレイ情報 | `xdpyinfo | grep dimensions` |
| glxinfo | OpenGL情報 | `glxinfo | grep “OpenGL version”` |
| Mesa | オープンソースGLライブラリ | libGL.soを提供 | GPU描画に関与 |
| VNC | リモートデスクトップ | vncserver, vncviewer | X経由のリモート表示として出題あり |
| Xvnc | VNC用Xサーバ | Xvnc :1 | vncserverと組み合わせ使用 |
| x11vnc | 既存Xセッション共有 | x11vnc -display :0 | GUI操作共有で利用 |
| RDP | Remote Desktop Protocol | Linuxではxrdpが実装 | Windows互換リモートデスクトップ |
| xrdp | RDPサーバ実装 | /etc/xrdp/xrdp.ini | GUI経由接続で出題されることあり |
| rdesktop | RDPクライアント | rdesktop 192.168.0.10 | 試験に出ることがある旧コマンド |
| freerdp | 現行RDPクライアント | xfreerdp /v:192.168.0.10 | 実務的にも重要 |
| Xnest | Xサーバ内Xサーバ | Xnest :1 | 仮想X環境での試験ネタあり |
| Xephyr | 近代的な入れ子Xサーバ | Xephyr :1 | Xnestの後継、テスト環境構築用 |
| xdg-user-dirs | ユーザ標準ディレクトリ管理 | xdg-user-dirs-update | ~/Documentsなどの設定維持 |
| autostart | 自動起動設定 | ~/.config/autostart/*.desktop | デスクトップ起動時動作設定 |
| .desktopファイル | アプリケーション起動定義 | [Desktop Entry]形式 | MIME関連やメニュー登録で問われる |
| DBus | デスクトップ間通信システム | dbus-send, busctl | GNOME/KDE共通基盤 |
| systemd –user | ユーザセッション管理 | systemctl --user status | X起動後のプロセス管理で重要 |
| polkit | 権限昇格フレームワーク | /usr/share/polkit-1/actions/ | GUI操作時の認証に関与 |
| NetworkManager Applet | GUIネットワーク設定 | nm-applet | X環境でのネットワーク制御 |
| pulseaudio | サウンドサーバ | pactl, pacmd | GUI音量操作の裏側で動作 |
| pipewire | 次世代サウンド/メディアサーバ | GNOME/KDEで採用中 | PulseAudioの後継として問われる |
| ALSA | 低レベル音声API | /proc/asound/cards | PulseAudio/pipewireとの関係理解 |
| xdg-desktop-portal | Flatpak等の権限制御 | Waylandで利用 | アプリ権限管理で新出題傾向 |
| clipboard manager | クリップボード履歴管理 | clipit, parcelliteなど | Xセッション維持に関与 |
| session manager | セッション保存機能 | gnome-session, lxsession | ログアウト時設定保存 |
| xscreensaver | スクリーンセーバ管理 | xscreensaver-demo | 試験では省電力設定と関連付け |
| lock screen | 画面ロック | gnome-screensaver, xlock | セキュリティ項目でも出題あり |
| xset dpms | 電源管理 | xset dpms force off | ディスプレイ電源制御問題 |
❸Topic 107:Administrative Tasks(管理タスク)
本章の暗記のポイントは以下の通りです。
- ユーザ管理ファイルの役割を明確に `/etc/passwd` は基本情報、`/etc/shadow` は暗号化パスワード、`/etc/group` はグループ情報。
それぞれの構造を正確に記述できるようにしましょう。 - cronとatの違いを実際に試す cron=定期実行、at=一度きりの実行。
`crontab -e` と `at now + 5 minutes` の動作を比較しておくと混乱しません。 - ロケールとタイムゾーン設定を理解 `LANG` ・ `LC_ALL` ・ `TZ` の優先順位を整理。
`localectl` と `timedatectl` の使い分けを押さえましょう。
| 用語 | 意味 | 主な使い方や構成要素 | 試験でのポイント |
|---|---|---|---|
| root | 管理者ユーザ | UID 0 を持つ特権アカウント | root権限操作のリスクとsudo連携を理解 |
| sudo | 一時的に管理者権限実行 | sudo command | /etc/sudoersとvisudoで設定 |
| visudo | sudo設定編集専用コマンド | シンタックスチェック付き | 直接編集より安全である点が出題 |
| /etc/sudoers | sudo権限設定ファイル | user ALL=(ALL:ALL) ALL | 書式・順序・NOPASSWD設定を理解 |
| su | 別ユーザに切り替え | su – user | -オプションで環境引き継ぎ |
| passwd | パスワード変更 | passwd user | /etc/shadow更新される |
| /etc/passwd | ユーザ情報データベース | ユーザ:パス:UID:GID:コメント:ホーム:シェル | 各フィールドを暗記 |
| /etc/shadow | 暗号化パスワード保存 | root:$6$hash... | root専用、パーミッション厳重 |
| /etc/group | グループ情報データベース | group:x:GID:user1,user2 | プライマリと補助グループ区別 |
| /etc/gshadow | グループパスワード情報 | 管理専用 | 試験では存在目的を理解 |
| useradd | ユーザ作成 | useradd -m -s /bin/bash user | /etc/default/useradd既定値 |
| userdel | ユーザ削除 | userdel -r user | ホーム削除-rを覚える |
| usermod | ユーザ属性変更 | usermod -aG wheel user | -aGでグループ追加、上書き注意 |
| groupadd | グループ作成 | groupadd developers | /etc/group追記される |
| groupdel | グループ削除 | groupdel groupname | メンバがいる場合エラー |
| groupmod | グループ名・GID変更 | groupmod -n newname old | GID競合注意 |
| id | ユーザID確認 | id user | UID/GID表示 |
| whoami | 現在のユーザ名出力 | whoami | sudo時の確認など |
| groups | 所属グループ表示 | groups user | 試験で頻出 |
| newgrp | 一時的に別グループでシェル開始 | newgrp group | 新グループの権限反映 |
| chage | パスワード有効期限設定 | chage –l user | 有効日数・期限切れ確認 |
| /etc/login.defs | ユーザ作成デフォルト設定 | PASS_MAX_DAYS等 | セキュリティ設定で出題 |
| /etc/default/useradd | useradd設定ファイル | SHELL=/bin/bashなど | 作成時の既定値 |
| /etc/skel | 新規ユーザ初期ファイル | .bashrc等 | useradd -mでコピーされる |
| chsh | ログインシェル変更 | chsh –s /bin/zsh user | /etc/shellsに登録済みのみ使用可 |
| /etc/shells | 有効シェルリスト | bash, zsh等 | chshで参照される |
| suid | set user id属性 | chmod u+s file | root権限化の危険性理解 |
| sgid | set group id属性 | ディレクトリに付与可 | グループ共有に関与 |
| sticky bit | 共有ディレクトリ保護 | /tmpに設定 | 他人ファイル削除防止 |
| cron | 定期実行スケジューラ | crontab -e | 曜日・時間フィールド順を暗記 |
| /etc/crontab | システム全体cron設定 | フィールドにユーザ列がある | 区別を確認 |
| /etc/cron.d/ | cron分割設定ディレクトリ | アプリ単位で管理 | systemd環境でも有効 |
| /etc/cron.daily | 日次ジョブ | logrotateなど標準スクリプト | 自動バックアップ関連出題 |
| at | 一度限りのジョブ実行 | `echo “ls” | at now + 1 hour` |
| atq | atジョブ一覧 | atq | 所有者別に表示される |
| atrm | atジョブ削除 | atrm 1 | キャンセル操作 |
| batch | システム負荷低時に実行 | batch < script | 負荷1.5未満で実行 |
| systemd timer | systemdのcron代替 | .timer +.service | 新試験で出題傾向上昇 |
| systemctl list-timers | timer一覧 | 起動スケジュール確認 | OnCalendar=構文理解 |
| locale | ロケール確認 | locale, locale -a | 環境変数LANG, LC_*の意味 |
| LANG | システム言語設定 | LANG=ja_JP.UTF-8 | /etc/locale.conf参照 |
| LC_ALL | 一時的に全体上書き | LC_ALL=C command | 優先度が最も高い |
| localectl | systemdロケール設定 | localectl set-locale LANG=ja_JP.UTF-8 | GUI環境でも有効 |
| tzdata | タイムゾーンデータ | /usr/share/zoneinfo/ | timedatectlと併せ出題 |
| timedatectl | 時刻設定コマンド | timedatectl set-timezone Asia/Tokyo | NTP設定も可 |
| hwclock | ハードウェアクロック操作 | hwclock –systohc | UTCとローカルの違い |
| date | システム時刻設定 | date –s "2025-10-19 12:00:00" | フォーマット%Y-%m-%d覚える |
| /etc/timezone | タイムゾーン指定ファイル | Debian系で使用 | Red Hat系は/etc/localtimeリンク |
| user quota | ディスク使用制限 | /etc/fstabにusrquota | 設定手順問われる |
| edquota | ユーザクォータ編集 | edquota user | soft/hard制限 |
| quotaon/off | クォータ有効化/無効化 | quotaon –avug | 初期化後に必要 |
| repquota | クォータレポート | repquota –a | 出力形式理解 |
| lpadmin | プリンタ登録 | lpadmin –p printer –E –v usb:/dev/usb/lp0 | CUPS操作中心に出題 |
| lpstat | プリンタ状態確認 | lpstat –p | ジョブ一覧表示 |
| lp | 印刷コマンド | lp –d printer file.txt | lprとの違いを確認 |
| cancel | 印刷ジョブ削除 | cancel JOBID | CUPSジョブ制御 |
| cupsctl | CUPS設定制御 | cupsctl –E | /etc/cups/cupsd.conf操作 |
| cupsd | CUPSデーモン | systemctl status cups | Listen localhost:631設定 |
| /etc/cups/printers.conf | プリンタ定義ファイル | 自動生成される | 手動編集非推奨だが出題あり |
| lpq/lprm | 旧BSD印刷コマンド | lpq, lprm JOBID | lpr系の歴史的理解 |
| CLIメールクライアント | mail -s test user | システム通知用途で問われる | |
| alias (mail) | メールエイリアス | /etc/aliases | newaliasesで反映 |
| newaliases | エイリアスDB更新 | sendmail/postfix用 | 出題あり |
| ps | プロセス表示 | ps aux, ps –ef | BSD/UNIX表記の違い |
| top | 動的プロセス監視 | top | %CPU, RES列意味 |
| nice | プロセス優先度設定 | nice –n 10 cmd | 値が大きいほど優先度低い |
| renice | 実行中プロセス優先度変更 | renice 5 –p PID | rootのみ他人プロセス変更可 |
| kill | プロセス終了 | kill –9 PID | シグナル番号暗記(9, 15) |
| killall | プロセス名指定終了 | killall nginx | ワイルドカード注意 |
| pkill | パターン一致終了 | pkill –u user | 条件終了で便利 |
| systemctl | systemd制御 | systemctl restart sshd | sysvinitとの違いを理解 |
| journalctl | systemdログ閲覧 | journalctl –u sshd | –b, –fオプション |
| logger | syslogに手動出力 | logger "test" | /var/log/messages確認 |
| logrotate | ログローテーション | /etc/logrotate.conf | cron.dailyで実行 |
| last | ログイン履歴表示 | last user | /var/log/wtmp参照 |
| lastlog | 最終ログイン表示 | lastlog | /var/log/lastlog参照 |
| who | 現在ログイン中確認 | who | tty情報付き |
| w | ログイン中+動作中 | w | whoとの違い |
| uptime | 稼働時間表示 | uptime | ロードアベレージ理解 |
| shutdown | システム終了 | shutdown –r now | -r再起動、-h停止 |
| reboot | 再起動 | reboot | systemd下では同義 |
| halt | 電源オフ | halt | systemd環境ではshutdown –h nowと同義 |
| wall | 全ユーザへメッセージ送信 | wall "System going down" | メンテナンス告知 |
| write | 特定ユーザへメッセージ | write user | 対話型通信 |
| df | ディスク使用率表示 | df –h | マウントポイント確認 |
| du | ディレクトリ容量表示 | du –sh /home/* | ローカル使用状況把握 |
| free | メモリ使用量表示 | free –h | swap含む出題あり |
| uptime load average | システム負荷平均 | 1, 5, 15分平均 | 意味を暗記 |
| uname | カーネル情報表示 | uname –a | バージョン確認 |
| hostnamectl | ホスト名設定 | hostnamectl set-hostname srv01 | static/pretty名を区別 |
| dmesg | カーネルログ出力 | `dmesg | tail` |
| lsblk | ブロックデバイス一覧 | lsblk –f | UUIDやマウント確認 |
| blkid | UUID照会 | blkid /dev/sda1 | /etc/fstab設定で重要 |
| mount/umount | マウント・アンマウント | mount /dev/sda1 /mnt | オプション-o remount |
| /etc/fstab | 永続マウント設定 | UUID=xxx /mnt ext4 defaults 0 2 | 各フィールド理解 |
| swapon/swapoff | スワップ制御 | swapon –s | /etc/fstab設定あり |
| free swap usage | スワップ確認 | freeコマンド | メモリ逼迫時挙動 |
❹Topic 108:Essential System Services(基本システムサービス)
- systemdとSysVinitの対応関係を整理 「unit = SysVスクリプト」構造を意識し、`.service` ・ `.timer` ・ `.target` の対応を表で覚えると早いです。
`systemctl list-units` の出力を確認しておくと安心。 - journalctlとrsyslogの役割分担を理解 systemdでは`journalctl`がメインですが、互換で`/var/log/messages`も存在します。
両者の関係と保存場所を区別できるように。 - NTPとChronyの違いを意識 旧 `ntpd` と新 `chronyd` の設定ファイル・コマンドを整理。
`timedatectl` との統合点を理解すれば得点源になります。
| 用語 | 意味 | 主な使い方や構成要素 | 試験でのポイント |
|---|---|---|---|
| systemd | 現行Linuxのinitシステム | PID 1プロセス。サービス、ログ、タイマーを統合管理 | SysVinitとの比較が頻出 |
| systemctl | systemd操作コマンド | systemctl start nginx | enable/disable/is-activeなど暗記必須 |
| unit | systemd設定単位 | .service, .timer, .socket, .targetなど | 各種類の役割理解 |
| service unit | サービス定義ファイル | /usr/lib/systemd/system/sshd.service | ExecStart, WantedByなどの意味 |
| timer unit | 定期実行設定 | .timer + .service | cronの代替として出題増加中 |
| target | 起動レベルに相当 | graphical.target, multi-user.target | SysV runlevelとの対応表を暗記 |
| systemctl list-units | アクティブなunit一覧 | systemctl list-units --type=service | フィルタ使用 |
| systemctl daemon-reload | 設定再読込 | .service変更後必要 | 再起動不要で反映 |
| journalctl | systemdログビューア | journalctl -u sshd -b | -xe, --sinceなどのオプション頻出 |
| /var/log/journal/ | 永続ログ保存場所 | systemd-journald管理下 | Storage=persistent設定確認 |
| logger | syslogにメッセージ送信 | logger "backup completed" | /etc/rsyslog.conf連携 |
| rsyslog | システムログデーモン | /etc/rsyslog.conf | *.info /var/log/messages形式を覚える |
| /etc/rsyslog.conf | ログ転送設定 | ルール: <facility>.<level> | priority順序も問われる |
| /etc/rsyslog.d/ | 個別設定ディレクトリ | アプリ単位設定 | デフォルトファイルより優先 |
| /var/log/messages | 一般システムログ | systemd-journald経由で生成 | カーネル・サービス混在 |
| /var/log/syslog | Debian系メインログ | Ubuntuで採用 | rsyslog経由 |
| /var/log/secure | 認証関連ログ | su, sudo, sshdなど | Red Hat系特有 |
| /var/log/auth.log | 認証ログ(Debian系) | sudo, sshd情報 | OSによるファイル差に注意 |
| /var/log/kern.log | カーネルログ | dmesgと重複内容あり | デバイス初期化エラー確認 |
| logrotate | ログローテーション | /etc/logrotate.conf | cron.dailyで自動実行 |
| /etc/logrotate.d/ | アプリ別設定 | rotate, compress, weeklyなど | 構文理解が出題される |
| mailx | CLIメール送信 | `echo body | mail -s “Test” user` |
| MTA | Mail Transfer Agent | Postfix, Exim, Sendmail | 基本アーキテクチャ理解 |
| Postfix | MTAの主流実装 | /etc/postfix/main.cf | relayhost, mydestination設定 |
| /etc/aliases | メールエイリアス設定 | root: admin | newaliasesで更新 |
| newaliases | エイリアスDB生成 | sendmail/postfix用 | 手動再構築が必要 |
| sendmail | 古典的MTA | /etc/mail/sendmail.cf | 歴史的比較で登場 |
| mailq | メールキュー確認 | mailqまたはpostqueue -p | キュー確認系問題で出る |
| postfix flush | メール再送 | postqueue -f | 停滞メール再試行 |
| SMTP | メール送信プロトコル | TCP 25番ポート | MTA間通信の基本 |
| IMAP | メール受信プロトコル | TCP 143(SSL:993) | Dovecot実装が多い |
| POP3 | 古い受信プロトコル | TCP 110(SSL:995) | mailboxダウンロード方式 |
| Dovecot | POP/IMAPサーバ | /etc/dovecot/dovecot.conf | メール受信系設定で出題 |
| system mail | ローカルメール通知 | root宛システム通知 | cron出力など確認対象 |
| cron mail | cronジョブ出力通知 | メール送信される | MAILTO=変数設定あり |
| NTP | Network Time Protocol | UDP 123 | 時刻同期に使用 |
| ntpd | 旧NTPデーモン | /etc/ntp.conf | Chronyに置換傾向あり |
| chronyd | 新NTPクライアント | /etc/chrony.conf | systemctl status chronyd |
| ntpq | NTPサーバ状態確認 | ntpq -p | 旧系NTP環境の確認コマンド |
| timedatectl | systemd統合時間管理 | timedatectl status | NTP設定確認・変更も可能 |
| /etc/chrony.conf | Chrony設定 | server ntp.nict.jp iburst | iburst, makestep設定問われる |
| hwclock | ハードウェアクロック操作 | hwclock --systohc | UTC/ローカルの違いに注意 |
| time drift | 時刻ドリフト | 時計ずれ | ntpd/chronydで補正される |
| CUPs | Common UNIX Printing System | /etc/cups/cupsd.conf | WebUI: http://localhost:631 |
| cupsd | CUPSデーモン | systemctl restart cups | ポート631/tcp |
| lp/lpr | 印刷コマンド | lp -d printer file | -o media=A4などオプション |
| lpstat | プリンタ状態表示 | lpstat -p | ジョブ確認も可能 |
| cancel/lprm | 印刷ジョブ削除 | cancel jobID | CUPS環境とBSD系両方問われる |
| lpoptions | デフォルトプリンタ設定 | lpoptions -d printer | 複数プリンタ環境で使用 |
| /etc/cups/printers.conf | 登録済プリンタ情報 | 自動生成 | 直接編集非推奨 |
| mailcap | MIME対応ファイル設定 | /etc/mailcap | CLIプログラムのMIME動作制御 |
| MIME type | ファイルタイプ識別 | file --mime-type file.txt | xdg-openなどでも使用 |
| udev | デバイス管理デーモン | /etc/udev/rules.d/ | ホットプラグ対応理解 |
| udevadm | udev管理コマンド | udevadm info --query=all | デバイス識別とルール反映 |
| systemd-udevd | udevデーモンプロセス | systemctl status systemd-udevd | 起動デバイス認識 |
| D-Bus | デーモン間通信バス | busctl list | systemdやGUIとの連携理解 |
| Avahi | Zeroconf/mDNSデーモン | avahi-daemon, avahi-browse | LAN内自動検出サービス |
| mDNS | Multicast DNS | .localドメイン解決 | Apple Bonjour互換 |
| hostnamectl | ホスト名設定 | hostnamectl set-hostname | pretty/static/transientの違い |
| systemctl isolate | ターゲット切替 | systemctl isolate multi-user.target | runlevel切替との比較 |
| runlevel | SysV起動レベル | 3: multi-user, 5: graphical | systemd移行後も問われる |
| SysVinit scripts | /etc/init.d/スクリプト | service ssh restart | 旧構成理解が必要 |
| serviceコマンド | 旧互換ラッパ | service crond status | systemd互換モードで動作 |
| /etc/rc.d/rc*.d/ | SysVスタートスクリプト | Sxx, Kxxプレフィックス | 起動順序問われる |
| chkconfig | SysVinit管理ツール | chkconfig --list | Red Hat旧系で頻出 |
| insserv | Debian系SysVスクリプト管理 | insserv service | 優先度設定に使用 |
| ps | プロセス表示 | ps aux | デーモン起動確認に使用 |
| pidof | プロセスID取得 | pidof sshd | サービス稼働確認 |
| kill | プロセス終了 | kill -15 PID | TERMとKILLの違い |
| journalctl -b | 起動後ログ表示 | journalctl -b -1 | 前回起動分ログ確認 |
| systemd-analyze | 起動解析ツール | systemd-analyze blame | 起動遅延解析 |
| sysctl | カーネルパラメータ設定 | sysctl -w net.ipv4.ip_forward=1 | 永続設定は/etc/sysctl.conf |
| /etc/sysctl.conf | カーネル設定永続化 | key=value形式 | ネットワーク系項目で出題多い |
| modprobe | カーネルモジュール読込 | modprobe e1000e | 依存関係自動解決 |
| lsmod | ロード済みモジュール表示 | `lsmod | grep e1000` |
| rmmod | モジュール削除 | rmmod module | 使用中モジュール削除不可 |
| /etc/modprobe.d/ | モジュール設定 | blacklist設定ファイル | 自動ロード抑制設定問われる |
| blacklist | モジュール読み込み禁止 | blacklist nouveau | GPUや不要ドライバ対策 |
| systemctl mask | サービス強制無効化 | systemctl mask service | /dev/nullへリンクされる |
| systemctl unmask | mask解除 | systemctl unmask service | 一時的停止解除操作 |
| run-parts | cron, logrotate実行補助 | run-parts /etc/cron.daily | 自動実行スクリプト管理 |
| hostnamectl status | ホスト情報表示 | ホスト名+OS+カーネル | systemd統合管理 |
| timedatectl set-ntp | NTP有効化 | timedatectl set-ntp true | chronydまたはsystemd-timesyncd利用 |
| systemd-timesyncd | 軽量NTPクライアント | /etc/systemd/timesyncd.conf | Chrony未使用時に出題される |
| /etc/hosts.allow | TCP Wrappers許可リスト | sshd: 192.168.1. | tcpdにより制御 |
| /etc/hosts.deny | TCP Wrappers拒否リスト | ALL: ALL | 優先度はallow→deny |
| TCP Wrappers | 接続制御機構 | libwrapにより提供 | systemd環境では非推奨だが出題範囲 |
❺Topic 109:Networking Fundamentals(ネットワーク基礎)
本章の暗記のポイントは以下の通りです。
- ipコマンドを中心に再構築 旧 `ifconfig` ・ `route` は非推奨。
`ip addr` ・ `ip link` ・ `ip route` を基軸に操作体系を統一しましょう。 - DNS関連コマンドを整理 `dig` ・ `host` ・ `nslookup` の違いを明確に。
出題ではオプション(`+short` `+trace`)指定問題が多いです。 - IPv6の基本を押さえる `fe80::/10` = link-local、`::1` = loopback。
圧縮表記ルールとSLAAC/DHCPv6の違いを理解しましょう。
| 用語 | 意味 | 主な使い方や構成要素 | 試験でのポイント |
|---|---|---|---|
| TCP/IP | インターネット通信の基本プロトコル群 | TCP, UDP, IP, ICMP など | 各層の役割を理解 |
| IPアドレス | ネットワーク上の識別子 | IPv4 (32bit), IPv6 (128bit) | クラスレス表記CIDRで出題 |
| CIDR | Classless Inter-Domain Routing | 192.168.1.0/24 | ネットマスク計算問題頻出 |
| サブネットマスク | ネットワーク部の長さ指定 | 255.255.255.0 | CIDRと相互変換を覚える |
| デフォルトゲートウェイ | 外部ネットワークへの出口 | /etc/network/interfaces などで設定 | ip route で確認可 |
| MTU | 最大転送単位 | 標準1500バイト | ip link set mtu で変更 |
| MACアドレス | NIC固有の識別子 | 48bit(16進数) | ip link show で確認 |
| ARP | IP↔MAC対応管理プロトコル | arp -n | ip neigh が新方式 |
| ARPテーブル | MACアドレスキャッシュ | /proc/net/arp | 永続設定はip neigh add |
| /etc/hosts | ローカル名前解決 | 127.0.0.1 localhost | DNSより先に参照 |
| /etc/resolv.conf | DNSリゾルバ設定 | nameserver 8.8.8.8 | DHCPにより上書きされる |
| /etc/nsswitch.conf | 名前解決順序設定 | hosts: files dns | 順序が出題される |
| hostname | ホスト名確認 | hostname, hostnamectl | /etc/hostnameに保存 |
| ping | ネットワーク疎通確認 | ping -c 4 8.8.8.8 | ICMP使用、firewallで遮断可 |
| traceroute | 経路追跡 | traceroute 8.8.8.8 | TTL超過ICMP利用 |
| tracepath | 非root用経路確認 | tracepath google.com | Debian系標準で利用 |
| netstat | 接続確認 | netstat -tuln | ssコマンドが後継 |
| ss | ソケット統計表示 | ss -ltn | LISTENポート確認に使用 |
| ip | ネットワーク管理ツール | ip addr, ip route, ip link | ifconfig/netstatの後継 |
| ip addr show | IPアドレス一覧 | ip a | inet行にIPv4/IPv6表示 |
| ip route | ルーティング表示 | ip route show | デフォルトゲートウェイ確認 |
| ip link | インタフェース状態表示 | ip link set eth0 up | 有効/無効の切替 |
| ifconfig | 旧ネットワーク設定コマンド | ifconfig eth0 up | 非推奨だが試験範囲内 |
| route | 旧ルーティングコマンド | route -n | ip routeと比較出題あり |
| /etc/network/interfaces | Debian系のネット設定 | iface eth0 inet static | ifupdown方式理解 |
| /etc/sysconfig/network-scripts/ | RHEL系設定ディレクトリ | ifcfg-eth0 | BOOTPROTO, ONBOOTなど覚える |
| BOOTPROTO | IP取得方式設定 | static / dhcp / none | ifcfgファイルで必須 |
| ONBOOT | 起動時有効化設定 | ONBOOT=yes | 忘れると自動起動しない |
| nmcli | NetworkManager CLI | nmcli dev show | GUIなし環境でも利用可 |
| nmtui | NetworkManager TUI | 端末ベースの設定UI | 試験で紹介レベル出題あり |
| NetworkManager | ネットワーク管理デーモン | /etc/NetworkManager/NetworkManager.conf | systemd連携で設定統一 |
| hostnamectl | ホスト名変更 | hostnamectl set-hostname | pretty/static/transient区別 |
| resolvectl | systemdのDNS管理 | resolvectl status | systemd-resolved利用時に出題 |
| systemd-resolved | DNSリゾルバサービス | /etc/systemd/resolved.conf | DNSStubListenerの役割理解 |
| nmcli connection | 接続プロファイル操作 | nmcli con add type ethernet ifname eth0 | 永続設定も可 |
| DHCP | 動的IP割当プロトコル | UDP 67/68 | dhclientコマンドで手動取得 |
| dhclient | DHCPクライアント | dhclient eth0 | DHCPリース更新に使用 |
| /etc/dhcp/dhclient.conf | DHCPクライアント設定 | request項目など | DNS上書き制御も可 |
| DNS | Domain Name System | 名前⇔IP変換 | /etc/resolv.confと連携 |
| dig | DNS問い合わせツール | dig example.com A | +short, +traceオプション |
| host | 簡易DNS問い合わせ | host example.com | digより短い出力 |
| nslookup | 旧DNS問い合わせツール | nslookup example.com | 非推奨だが試験対象 |
| /etc/hosts.allow | TCP Wrappers許可 | sshd: 192.168.0. | allow→deny順序で評価 |
| /etc/hosts.deny | TCP Wrappers拒否 | ALL: ALL | systemd環境では非推奨だが出題範囲 |
| telnet | TCP接続確認 | telnet host 22 | 確認用に使用される(非暗号) |
| nc (netcat) | ネットワーク接続多用途ツール | nc -l 1234, nc host 80 | ポート確認や転送テスト |
| curl | HTTP通信テスト | curl -I https://example.com | ステータスコード確認 |
| wget | ファイルダウンロード | wget URL | プロキシ設定出題あり |
| ftp | ファイル転送プロトコル | TCP 21 | lftp, vsftpdなどで構築も範囲 |
| sftp | SSH経由ファイル転送 | sftp user@host | 暗号化通信で安全 |
| scp | SSHコピー | scp file user@host:/path | -rでディレクトリ転送 |
| rsync | 差分転送 | rsync -avz | SSH併用でバックアップ用途 |
| ssh | Secure Shell | ssh user@host | 公開鍵認証を含め出題頻出 |
| sshd | SSHサーバ | /etc/ssh/sshd_config | PermitRootLogin設定など |
| /etc/ssh/ssh_config | クライアント設定 | グローバル設定 | 優先順位:~/.ssh/configより低い |
| /etc/ssh/sshd_config | サーバ設定 | Port, PermitRootLogin, PasswordAuthentication | 設定変更→systemctl restart sshd |
| ~/.ssh/authorized_keys | 公開鍵リスト | 公開鍵認証用 | パーミッション600必須 |
| ~/.ssh/config | ユーザ別設定 | Host別に定義可 | IdentityFileなど出題あり |
| scp -r | ディレクトリ転送 | scp -r /dir user@remote:/dir | パーミッション維持確認 |
| iptables | 旧ファイアウォール設定 | iptables -L | nftablesと比較出題あり |
| nftables | 新世代ファイアウォール | nft list ruleset | /etc/nftables.conf |
| firewalld | systemd統合FWデーモン | firewall-cmd --list-all | ゾーン概念が問われる |
| firewall-cmd | firewalld管理ツール | firewall-cmd --add-service=ssh --permanent | 永続設定と即時反映の違い |
| zone | firewalld設定単位 | public, internal, dmz | ゾーン間アクセス制御理解 |
| tcpdump | パケットキャプチャ | tcpdump -i eth0 port 80 | フィルタ構文出題多い |
| wireshark | GUIパケット解析 | フィルタ: ip.addr==192.168.1.1 | 実務寄りだが出題例あり |
| traceroute6 | IPv6経路追跡 | traceroute6 ipv6.google.com | IPv4との違い問われる |
| ping6 | IPv6疎通確認 | ping6 fe80::1 | ip -6 route関連理解 |
| IPv6アドレス形式 | 128bit、8ブロック16進数 | 2001:db8::1/64 | 圧縮表記と/64単位出題 |
| link-local | IPv6自動付与アドレス | fe80::/10 | ルータ未介在通信に使用 |
| SLAAC | IPv6自動設定機能 | Router Advertisement使用 | DHCPv6と区別 |
| DHCPv6 | IPv6動的設定 | UDP 546/547 | SLAAC併用パターンあり |
| NDP | Neighbor Discovery Protocol | IPv6版ARP | ICMPv6ベース |
| nslookup AAAA | IPv6レコード取得 | nslookup -type=AAAA host | IPv4はAレコード |
| hostname -I | IPアドレス一覧 | IPv4/IPv6両方表示 | ifconfig代替で出題あり |
| ethtool | NIC情報表示 | ethtool eth0 | Speed/Duplex確認 |
| mii-tool | 旧NIC確認コマンド | mii-tool eth0 | 廃止傾向だが試験範囲 |
| lsof -i | ポート使用状況確認 | lsof -i:22 | 開放中ポート把握 |
| netcat -l | ポート待受 | nc -l 8080 | 通信テスト問題で出題あり |
| ipcalc | IP計算ツール | ipcalc 192.168.1.0/24 | サブネット分割問題に便利 |
| dig +trace | ルートからの名前解決追跡 | dig +trace example.com | DNS階層理解に出題あり |
| /etc/services | ポート番号定義 | ssh 22/tcp, http 80/tcp | プロトコル識別に出題される |
| /etc/protocols | IPプロトコル番号表 | tcp 6, udp 17 | ICMPは1番である |
| bridge-utils | 仮想ブリッジ管理 | brctl show | 仮想環境の問題で出題あり |
| ip link add name br0 type bridge | ブリッジ作成 | 仮想化関連設定 | ipコマンドで完結可能 |
| netplan | Ubuntu新設定方式 | /etc/netplan/*.yaml | YAML構文のインデント注意 |
| systemd-networkd | 軽量ネットワーク管理 | /etc/systemd/network/*.network | サーバ環境中心に採用 |
| /etc/systemd/network/*.network | ネットワーク設定ファイル | [Match], [Network], [Address]セクション | DHCP=やGateway指定出題あり |
| ifup/ifdown | インタフェース制御 | ifup eth0, ifdown eth0 | Debian系で利用 |
| ip monitor | 状態監視 | ip monitor link | 動的イベント検知問題で登場 |
| nmap | ネットワークスキャナ | nmap -sS 192.168.1.0/24 | ポートスキャンに関する理解 |
| mtr | 経路+損失率解析 | mtr google.com | ping+tracerouteの統合ツール |
| route add/delete | 旧ルート設定 | route add default gw 192.168.1.1 | ipコマンドに置換理解 |
| ping -I | インタフェース指定ping | ping -I eth0 host | マルチNIC環境問題で出る |
| tcp/udp | トランスポート層プロトコル | TCP=信頼性あり、UDP=低遅延 | ポート番号範囲0–65535を理解 |
| port番号 | サービス識別用数値 | 80, 22, 443, 53など | well-known port出題頻出 |
| ICMP | エラーメッセージ伝達 | ping, traceroute利用 | firewallで無効化可 |
| loopback | 自身通信 | 127.0.0.1 / ::1 | ネットワーク動作確認 |
| broadcast | 同一ネット内一斉送信 | 192.168.1.255など | ping -bで送信 |
| multicast | 特定グループ送信 | 224.0.0.0/4 | IGMPで管理される |
| IGMP | IPv4マルチキャスト管理 | 224.0.0.1など | IPv6ではMLDが対応 |
| netfilter | Linuxカーネルのパケット処理機構 | iptables/nftablesの基盤 | hookポイント理解 |
| conntrack | コネクショントラッキング | conntrack -L | 状態保持FW機構理解 |
❻Topic 110:Security(セキュリティ)
本章の暗記のポイントは以下の通りです。
- PAM構造を具体例で理解 `auth required pam_unix.so` のような行を読めるようにしましょう。
control flag (required/sufficient) の意味を明確に。 - 権限管理と特殊ビットを実機で確認 `chmod 4755` でSUIDを付与し、`ls -l` 結果を見て動作を体感。
Sticky bit(/tmp)なども実験すると理解が定着します。 - ファイアウォールは3層で整理 `iptables → nftables → firewalld` の進化を把握。
`firewall-cmd –list-all` でゾーン構造を確認できるように。
| 用語 | 意味 | 主な使い方や構成要素 | 試験でのポイント |
|---|---|---|---|
| root | 管理者アカウント | UID 0 を持つ | 誤操作防止にsudo推奨 |
| sudo | 一時的にroot権限実行 | /etc/sudoers で制御 | visudoで編集必須 |
| visudo | sudo設定専用エディタ | シンタックス検証あり | 誤設定防止目的 |
| /etc/sudoers | sudo設定ファイル | user ALL=(ALL:ALL) ALL | NOPASSWDなど構文暗記 |
| su | 別ユーザ切替 | su – user | 環境引き継ぎの有無 |
| passwd | パスワード変更 | /etc/shadow 更新 | rootが他ユーザ変更可能 |
| /etc/shadow | 暗号化済PW格納 | $6$ SHA-512方式 | パーミッション 400 |
| /etc/login.defs | ログイン関連設定 | PASS_MAX_DAYS 等 | アカウント期限制御 |
| chage | 有効期限管理 | chage -l user | 最終変更日・期限確認 |
| faillog | 失敗ログ管理 | faillog -a | /var/log/faillog 参照 |
| pam | Pluggable Authentication Modules | 認証モジュール体系 | stackable構造理解 |
| /etc/pam.d/ | PAM設定ディレクトリ | 各サービス単位で設定 | control flag (required, sufficient 等) |
| pam_unix.so | UNIX認証モジュール | パスワード・shadow利用 | 基本モジュール |
| pam_tally2.so | ログイン失敗回数制限 | /var/log/tallylog | failcntリセット方法問われる |
| pam_cracklib.so | パスワード強度検査 | 最小長・大文字・数字等 | 近年は pam_pwquality.so に置換 |
| pam_pwquality.so | 現行強度検査 | /etc/security/pwquality.conf | 最低長・履歴設定 |
| pam_limits.so | リソース制限 | /etc/security/limits.conf | soft/hard nproc 等 |
| /etc/security/limits.conf | ユーザ毎制限設定 | nofile, nproc など | PAM経由で適用 |
| /etc/login.access | アクセス制御 | +:root:LOCAL | 旧来機構、軽く出題 |
| passwd -l | アカウントロック | passwd -l user | shadowに「!」付加 |
| usermod -L/-U | ロック/解除 | usermod -L user | 同上効果 |
| ssh | 安全リモートログイン | TCP 22 | 公開鍵認証が頻出 |
| sshd_config | SSHサーバ設定 | /etc/ssh/sshd_config | Port, PermitRootLogin 等 |
| ssh_config | クライアント設定 | /etc/ssh/ssh_config | User, IdentityFile |
| ssh-keygen | 鍵ペア生成 | ssh-keygen -t ed25519 | パスフレーズ有無理解 |
| ~/.ssh/authorized_keys | 公開鍵登録 | 600 権限必須 | 接続拒否トラブル要注意 |
| ssh-agent | 秘密鍵常駐管理 | eval $(ssh-agent) | GUIログイン後自動起動 |
| ssh-add | 秘密鍵登録 | ssh-add ~/.ssh/id_ed25519 | ロード状態確認も可 |
| scp/sftp | SSH転送系 | scp file user@host: | FTP代替として安全 |
| /etc/ssh/sshd_banner | バナー表示設定 | Banner /etc/issue.net | セキュリティ方針提示 |
| /etc/issue.net | リモートログイン表示 | 注意文など | SSH接続時表示 |
| GPG | GNU Privacy Guard | 公開鍵暗号ツール | gpg --gen-key, gpg -e |
| gpg -e/-d | 暗号化/復号 | gpg -e r user@example.com file | 鍵管理理解 |
| gpg –import/export | 鍵のインポート/エクスポート | 鍵共有時に使用 | 秘密鍵は厳重保護 |
| openssl | SSL/TLSツール | openssl req -new 等 | CSR生成・証明書確認 |
| /etc/ssl/certs | 公開証明書格納先 | システム共通CA | trust store管理理解 |
| /etc/ssl/private | 秘密鍵保存先 | rootのみ読み取り | 権限設定出題あり |
| TLS | Transport Layer Security | 通信暗号化標準 | HTTPSなどで使用 |
| HTTPS | HTTP over TLS | TCP 443 | SSLより安全 |
| firewall | 通信制御仕組み | iptables/nftables/firewalld | デフォルト許可/拒否方針理解 |
| iptables | 旧FW設定ツール | iptables -L | nftablesと比較出題 |
| nftables | 新FWフレームワーク | nft list ruleset | /etc/nftables.conf で永続 |
| firewalld | systemd統合FW | firewall-cmd --add-service=ssh | ゾーン概念を理解 |
| firewall-cmd –permanent | 永続設定追加 | 再起動後も保持 | reloadで反映 |
| zone | firewalld論理ゾーン | public/internal/dmz | ポリシー分離 |
| TCP Wrappers | アクセス制御ライブラリ | /etc/hosts.allow/deny | allow→deny優先順序 |
| /etc/hosts.allow | 許可設定 | sshd: 192.168.0. | systemd環境では非推奨 |
| /etc/hosts.deny | 拒否設定 | ALL: ALL | 旧方式ながら試験範囲 |
| umask | デフォルト権限マスク | umask 022 | 777-022 = 755で計算 |
| chmod | パーミッション変更 | chmod 640 file | 数値/記号両表記理解 |
| chown | 所有者変更 | chown user:group file | ルート専用操作 |
| chgrp | グループ変更 | chgrp devs file | sudo権必要な場合あり |
| ls -l | 権限表示 | -rw-r--r-- | rwxの並びと意味暗記 |
| SUID/SGID | 特殊権限 | 実行時に所有者権限付与 | セキュリティリスク理解 |
| Sticky bit | 削除制御ビット | /tmp で使用 | 他人ファイル削除防止 |
| find -perm | 権限検索 | find / -perm 4000 | SUID探索出題あり |
| ACL | Access Control List | setfacl -m u:user:rw file | 追加アクセス権設定 |
| getfacl | ACL確認 | getfacl file | # owner: 行の意味理解 |
| setfacl | ACL設定 | -m, -x, -b オプション | 標準権限+ACLの関係 |
| umount -l | 強制アンマウント | umount -l /mnt | 使用中でも遅延解除 |
| mount -o nosuid | SUID禁止マウント | /etc/fstab 設定 | nodev, noexec とセットで暗記 |
| mount -o nodev | デバイスファイル無効 | /tmp tmpfs defaults,nodev | 隔離環境対策 |
| mount -o noexec | 実行禁止 | /home 等に設定 | 悪意あるスクリプト防止 |
| file permissions | ファイル権限構造 | user/group/other | 基本中の基本項目 |
| lsattr/chattr | 属性制御 | chattr +i file | +i で削除不可設定 |
| /etc/fstab secure opts | セキュリティマウント設定 | nosuid,nodev,noexec | 出題頻度高い |
| auditd | 監査ログデーモン | /etc/audit/auditd.conf | SELinux連携も問われる |
| ausearch | 監査ログ検索 | ausearch -m USER_LOGIN | 監査分析で使用 |
| aureport | 監査レポート | aureport --summary | ログ統計確認 |
| SELinux | 強制アクセス制御MAC | enforcing/permissive | Red Hat系では頻出 |
| getenforce/setenforce | SELinuxモード確認/変更 | setenforce 0 | 一時的変更方法理解 |
| /etc/selinux/config | SELinux永続設定 | SELINUX=enforcing 等 | 再起動後反映 |
| semanage | SELinux設定変更 | semanage fcontext -a | ファイルコンテキスト管理 |
| restorecon | コンテキスト再適用 | restorecon -Rv /var/www | ラベル再設定問題あり |
| ls -Z | SELinuxコンテキスト表示 | ls -Z /etc/passwd | security context構造理解 |
| AppArmor | 軽量MAC | /etc/apparmor.d/ | Debian系で採用 |
| aa-status | AppArmor状態確認 | aa-status | 有効/無効プロファイル確認 |
| aa-enforce | 強制モード適用 | aa-enforce /etc/apparmor.d/usr.bin.sshd | permissiveとの差 |
| gpasswd | グループ管理 | gpasswd -a user group | /etc/gshadow 更新 |
| crontab -u | 他ユーザcron管理 | crontab -u user -e | root権限要 |
| logrotate | ログローテーション | /etc/logrotate.conf | 権限保護も含む |
| journalctl -u | 特定サービスログ表示 | journalctl -u sshd -xe | 不正ログ確認で使用 |
| fail2ban | SSHブルートフォース防止 | /etc/fail2ban/jail.conf | iptables連携理解 |
| tcpdump | パケットキャプチャ | tcpdump -i eth0 port 22 | 認証試行分析に活用 |
| iptables -A INPUT | FWルール追加 | iptables -A INPUT -p tcp --dport 22 -j ACCEPT | 順序依存理解 |
| nft add rule | nftablesルール追加 | nft add rule inet filter input tcp dport 22 accept | 構文把握 |
| netstat -tuln | ポート確認 | LISTEN状態確認 | 開放ポート把握 |
| lsof -i | ポート使用プロセス確認 | lsof -i:22 | 不明な接続の特定 |
| ps aux | プロセス監視 | `ps aux | grep sshd` |
| chkrootkit | rootkit検出ツール | chkrootkit | 試験では概要問われる |
| rkhunter | rootkit検出 | /etc/rkhunter.conf | データベース更新手順 |
| tripwire | 改ざん検出システム | tripwire --init | 重要ファイル監視 |
| shadow permissions | 600/400設定 | chmod 400 /etc/shadow | 他人読み取り禁止確認 |
| password hash scheme | 暗号方式 | MD5→SHA-512 | $1$,$6$ 等識別 |
| two-factor auth | 二要素認証 | password+token | 概念理解出題あり |
| firewalld –reload | 設定反映 | 永続設定後に実行 | --list-allで確認 |
| /var/log/secure | 認証ログ | sudo や ssh 記録 | Red Hat系必出 |
| /var/log/auth.log | 認証ログ(Debian) | 同上 | OS差異を覚える |
| journald.conf | systemdログ設定 | /etc/systemd/journald.conf | Storage = persistent 等 |
| secure shell banner | セキュリティ告知文 | Banner /etc/issue.net | 情報漏洩防止策 |
その他参考情報
LPIC102試験のその他参考情報を以下に記載します。
LPIC-102(Linux Administrator)概要・前提条件
| 項目 | 内容 |
|---|---|
| 試験コード | 102-500 |
| 試験時間 | 90分 |
| 問題数 | 約60問(選択式+記述式) |
| 認定の有効期間 | 5年 |
| 前提条件 | なし(ただし、LPIC-1 取得には101と102の両方合格が必要) |
| 試験テーマ | Linuxシステム運用に必要な日常管理スキルの理解と実践力(シェル・管理タスク・ネットワーク・セキュリティなど) |
| 試験バージョン | Version 5.0 |
| 対応OS | Debian / Ubuntu / RHEL / CentOS / SUSE / Fedora など主要ディストリビューション全般 |
| 注意事項 | LPIC-102は「日常管理タスクとスクリプト力」が中心。 systemd・NetworkManager・firewalld・PAM・セキュリティ関連が最新版で強化されています。 |
出題範囲(トピック別・目安重み)
以下は、LPI公式の試験範囲(Version 5.0)に基づく LPIC-102 の主要トピック構成 です。
| トピック | 出題内容 | 重み |
|---|---|---|
| 105:Shells and Shell Scripting(シェルとスクリプト) | シェル環境変数、変数展開、コマンド置換、条件分岐(if, case)、ループ構文(for, while, until)、関数、リダイレクト、パイプ、trap、getopts、cron・at の利用 | 4 |
| 106:User Interfaces and Desktops(ユーザーインターフェースとデスクトップ) | X11とWaylandの構造、Display Manager(GDM, LightDM, SDDM)、xdgツール、フォント設定、アクセシビリティ、VNC/RDPなどのリモートデスクトップ設定 | 2 |
| 107:Administrative Tasks(管理タスク) | ユーザ・グループ管理、パスワード・期限管理、sudo設定、cron/atによるジョブ管理、ロケール・タイムゾーン設定、バックアップと復元、プリンタ設定 | 3 |
| 108:Essential System Services(基本システムサービス) | systemd/journalctl、ログ管理、rsyslog、CUPS、NTP/Chrony、systemd-timer、sysctl、udev、DBus、Avahiなど | 4 |
| 109:Networking Fundamentals(ネットワーク基礎) | IPアドレス設定、ルーティング、NetworkManager、systemd-networkd、DNS設定(/etc/resolv.conf, dig, nslookup)、IPv6基礎、firewalld・nftables・ssh設定 | 4 |
| 110:Security(セキュリティ) | PAM認証、ファイルパーミッション、ACL、特殊ビット(SUID/SGID/Sticky)、ファイアウォール設定、SELinux/AppArmor、ssh鍵認証、GPG/opensslによる暗号化 | 4 |
