6
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【コマンド集】LPIC-3 300 Mixed Environments 試験対策まとめ!全トピック解説

6
Posted at

はじめに

スクリーンショット 2026-04-03 23.33.04.png

こんばんは、mirukyです。
本記事はLPIC-3 300: Mixed Environments(300-300)の 全トピック・全サブトピック を公式試験要項(Objectives V3.0)に基づいて網羅した試験対策記事です。

LPIC-3はLPICシリーズの最上位資格であり、300(Mixed Environments)はLinuxとWindows/Active Directoryが混在するエンタープライズ環境でのSamba・FreeIPA・NFS・Kerberos等の運用能力が問われます。

LPIC-3 300 試験概要

項目 内容
試験コード 300-300
試験バージョン V3.0
前提条件 有効なLPIC-2資格を保有していること
問題数 60問
試験時間 90分
合格ライン 500点 / 800点満点(約65%)
出題形式 選択式・複数選択式・穴埋め式
有効期間 5年
受験言語 日本語・英語 他
受験料 19,800円(税込)(出典:Pearson VUE公式マーケットプレイス)

LPIC-3 の位置付け

① LPIC-1(基礎) → LPIC-2(サーバー構築) → LPIC-3(エンタープライズ・専門領域)
- 300: Mixed Environments ← 本記事
- 305: Virtualization & Containerization
- 306: High Availability & Storage Clusters

試験の中心テーマ

  • Samba:LinuxとWindowsの相互運用(ファイル共有・プリンタ共有・AD DC)
  • Active Directory:SambaによるADドメインコントローラーの構築と運用
  • Kerberos:ネットワーク認証基盤
  • FreeIPA:Linux向け統合ID管理基盤
  • NFS:Linuxネイティブのファイル共有(Kerberos連携含む)

Topic 301:Sambaの基礎

301.1 Sambaの概念とアーキテクチャ(Weight: 2)

重要ポイント

Sambaデーモンの役割

デーモン 役割
smbd SMB/CIFSプロトコルでファイル共有・印刷サービスを提供
nmbd NetBIOS名前解決とブラウジングを担当
winbindd WindowsドメインのユーザーをLinux上で利用可能にする
samba Samba AD DCモードのメインプロセス

SMB/CIFSプロトコルの主要ポート

ポート プロトコル 用途
137 UDP NetBIOS名前解決
138 UDP NetBIOSデータグラム
139 TCP NetBIOSセッション(SMB over NetBIOS)
445 TCP SMBダイレクト(現在の主流)

SMBバージョン

バージョン 特徴
SMB1 / CIFS レガシー。セキュリティリスクが高く非推奨
SMB2 Windows Vista以降。パフォーマンス改善
SMB3 Windows 8以降。暗号化・マルチチャネル対応

コマンド集

# Sambaバージョン確認
smbd --version
samba --version

# Sambaの状態確認
smbstatus                                     # 接続中のクライアント・開いているファイル
smbstatus -b                                  # 簡易表示
smbstatus -S                                  # 共有一覧

# NetBIOS名の確認
nmblookup [NetBIOS名]                         # NetBIOS名前解決
nmblookup -A [IPアドレス]                     # IPアドレスからNetBIOS名を逆引き

301.2 Sambaの設定(Weight: 4)

smb.conf の構造

# /etc/samba/smb.conf

# === グローバルセクション ===
[global]
workgroup = EXAMPLE
realm = EXAMPLE.COM
server string = Samba Server %v
security = user                     # 認証モード(user / ads / domain)
log file = /var/log/samba/log.%m    # クライアントごとのログ
max log size = 50                   # ログファイルの最大サイズ(KB)
log level = 3                       # ログレベル(0〜10)
passdb backend = tdbsam             # パスワードデータベース
map to guest = Bad User             # 認証失敗時のゲストマッピング

# === 共有セクション ===
[share_name]
path = /srv/samba/share
browseable = yes
writable = yes
valid users = @smbgroup
create mask = 0664
directory mask = 0775

主要なグローバルパラメータ

パラメータ 説明
workgroup ワークグループ名またはドメイン名
realm Kerberosレルム(AD DC時に使用)
server string サーバーの説明文
security 認証モード(user, ads, domain, auto
passdb backend パスワードDB(tdbsam, ldapsam, smbpasswd
log file ログファイルのパス
log level ログの詳細度(0〜10)
interfaces リッスンするインターフェース
bind interfaces only 指定インターフェースのみにバインド
map to guest 認証失敗時のゲストマッピング
server role サーバー役割(standalone, member server, active directory domain controller

コマンド集

# 設定ファイルの構文チェック
testparm                                      # smb.confの構文チェック(全パラメータ表示)
testparm -s                                   # 簡潔に表示(デフォルトと異なる値のみ)
testparm -v                                   # 全パラメータ(デフォルト含む)

# パスワード管理
smbpasswd -a [ユーザー名]                     # Sambaユーザーの追加
smbpasswd [ユーザー名]                        # パスワード変更
smbpasswd -x [ユーザー名]                     # ユーザーの削除
smbpasswd -d [ユーザー名]                     # ユーザーの無効化
smbpasswd -e [ユーザー名]                     # ユーザーの有効化

# ユーザーデータベース管理
pdbedit -L                                    # ユーザー一覧
pdbedit -Lv                                   # 詳細一覧
pdbedit -a [ユーザー名]                       # ユーザー追加
pdbedit -x [ユーザー名]                       # ユーザー削除
pdbedit -e tdbsam:/path/to/backup             # データベースのエクスポート
pdbedit -i tdbsam:/path/to/backup             # データベースのインポート

# Sambaサービス管理
systemctl start smb nmb                       # smbd + nmbd 起動
systemctl start winbind                       # winbindd 起動
systemctl start samba                         # AD DCモード起動
smbcontrol all reload-config                  # 全プロセスに設定再読み込み通知

301.3 Sambaの定期メンテナンス(Weight: 2)

コマンド集

# TDB(Trivial Database)の管理
tdbbackup /var/lib/samba/*.tdb                # TDBファイルのバックアップ
tdbbackup -v /var/lib/samba/[TDBファイル名]   # 検証付きバックアップ
tdbtool /var/lib/samba/[TDBファイル名]        # TDBの対話式操作
tdbrestore                                    # TDBの復元

# Samba AD DCのバックアップ
samba-tool domain backup online --targetdir=[バックアップ先パス] --server=[DC名]
samba-tool domain backup offline --targetdir=[バックアップ先パス]
samba-tool domain backup rename [新ドメイン名] [新レルム名] --targetdir=[パス] --server=[DC名]

# データベース整合性チェック
samba-tool dbcheck                            # AD DBの整合性チェック
samba-tool dbcheck --fix                      # 問題の自動修復

# net コマンド
net rpc info -S [サーバー名] -U [ユーザー名]  # リモートサーバー情報
net rpc user -S [サーバー名] -U [ユーザー名]  # ユーザー一覧
net time -S [サーバー名]                      # 時刻同期確認

301.4 Sambaのトラブルシューティング(Weight: 3)

トラブルシューティングの手順

1. testparm で設定ファイルの構文チェック
2. smbstatus で接続状態の確認
3. ログファイルの確認(/var/log/samba/)
4. log level を上げて再現・詳細確認
5. smbclient でクライアント側からの接続テスト
6. ネットワーク(ポート445, 139)の疎通確認

コマンド集

# ログの確認
tail -f /var/log/samba/log.smbd               # smbdのログ
tail -f /var/log/samba/log.winbindd            # winbinddのログ
tail -f /var/log/samba/log.[クライアント名]    # クライアントごとのログ

# ログレベルの動的変更
smbcontrol smbd debug [レベル]                # smbdのログレベルを変更
smbcontrol winbindd debug [レベル]            # winbinddのログレベルを変更

# 接続テスト
smbclient -L //[サーバー名] -U [ユーザー名]   # 共有一覧の確認
smbclient //[サーバー名]/[共有名] -U [ユーザー名]   # 共有への接続テスト

# ネットワーク確認
ss -tuln | grep -E '139|445'                   # ポートのリッスン確認

# DNS確認(AD DC環境)
dig _ldap._tcp.[ドメイン名] SRV               # LDAP SRVレコードの確認
dig _kerberos._tcp.[ドメイン名] SRV           # Kerberos SRVレコードの確認
host -t SRV _ldap._tcp.[ドメイン名]           # 簡易確認

Topic 302:SambaとActive Directoryドメイン

302.1 Samba ADドメインコントローラー(Weight: 5)

Weight 5 は本試験の中で 最も出題比率が高い サブトピックの一つです。

Samba AD DCの構築

# AD DCとしてのプロビジョニング
samba-tool domain provision \
  --use-rfc2307 \
  --realm=EXAMPLE.COM \
  --domain=EXAMPLE \
  --server-role=dc \
  --dns-backend=SAMBA_INTERNAL \
  --adminpass='[管理者パスワード]'

# プロビジョニング後の確認
samba-tool domain level show                  # ドメイン/フォレスト機能レベル
samba-tool domain info [DC名]                 # ドメイン情報

# サービス起動
systemctl start samba                         # AD DCモードで起動
systemctl enable samba

# 動作確認
smbclient -L //localhost -U Administrator     # 共有一覧
smbclient //localhost/netlogon -U Administrator   # NETLOGON共有への接続

Kerberos設定(/etc/krb5.conf)

[libdefaults]
    default_realm = EXAMPLE.COM
    dns_lookup_realm = false
    dns_lookup_kdc = true

[realms]
    EXAMPLE.COM = {
        kdc = dc1.example.com
        admin_server = dc1.example.com
    }

[domain_realm]
    .example.com = EXAMPLE.COM
    example.com = EXAMPLE.COM

コマンド集

# Kerberos認証
kinit Administrator@EXAMPLE.COM               # チケット取得
klist                                         # チケット一覧
kdestroy                                      # チケット破棄

# ドメインコントローラー管理
samba-tool domain level raise --domain-level=[レベル] --forest-level=[レベル]
samba-tool domain classicupgrade [旧smb.confパス]   # Samba3→4への移行

# FSMOロール管理
samba-tool fsmo show                          # FSMOロール保持DC一覧
samba-tool fsmo seize --role=[ロール名]       # FSMOロールの強制取得
samba-tool fsmo transfer --role=[ロール名]    # FSMOロールの移転

# DCの追加(レプリケーション)
samba-tool domain join [ドメイン名] DC \
  -U Administrator --realm=[レルム名] --dns-backend=SAMBA_INTERNAL

# サイト管理
samba-tool sites create [サイト名]
samba-tool sites remove [サイト名]
samba-tool sites list

302.2 Active Directory名前解決(Weight: 2)

重要ポイント

  • Samba AD DCは DNS SRVレコード を動的に登録する
  • DNS バックエンドは SAMBA_INTERNAL(推奨)または BIND9_DLZ

コマンド集

# Samba内部DNSの管理
samba-tool dns serverinfo [DC名]              # DNSサーバー情報
samba-tool dns query [DC名] [ゾーン名] @ ALL  # ゾーン内全レコード
samba-tool dns add [DC名] [ゾーン名] [ホスト名] A [IPアドレス]   # Aレコード追加
samba-tool dns delete [DC名] [ゾーン名] [ホスト名] A [IPアドレス] # Aレコード削除

# DNSゾーン管理
samba-tool dns zonecreate [DC名] [ゾーン名]   # 正引きゾーン作成
samba-tool dns zonedelete [DC名] [ゾーン名]   # ゾーン削除
samba-tool dns zonelist [DC名]                # ゾーン一覧

# DNS動的更新
samba_dnsupdate --verbose                     # DNS動的更新の手動実行

# 確認
dig @[DC IP] [ドメイン名]                     # DNS問い合わせ
dig @[DC IP] _ldap._tcp.[ドメイン名] SRV     # SRVレコード確認
nslookup [ホスト名] [DC IP]                   # 名前解決テスト

302.3 Active Directoryユーザー管理(Weight: 4)

コマンド集

# --- ユーザー管理 ---
samba-tool user create [ユーザー名] [パスワード]              # ユーザー作成
samba-tool user create [ユーザー名] --random-password         # ランダムパスワード
samba-tool user delete [ユーザー名]                           # ユーザー削除
samba-tool user disable [ユーザー名]                          # ユーザー無効化
samba-tool user enable [ユーザー名]                           # ユーザー有効化
samba-tool user list                                          # ユーザー一覧
samba-tool user show [ユーザー名]                             # ユーザー詳細
samba-tool user setpassword [ユーザー名] --newpassword=[パスワード]   # パスワード変更
samba-tool user setexpiry [ユーザー名] --days=[日数]          # パスワード有効期限
samba-tool user setexpiry [ユーザー名] --noexpiry             # パスワード無期限

# --- グループ管理 ---
samba-tool group create [グループ名]                          # グループ作成
samba-tool group delete [グループ名]                          # グループ削除
samba-tool group list                                         # グループ一覧
samba-tool group listmembers [グループ名]                     # メンバー一覧
samba-tool group addmembers [グループ名] [ユーザー名1],[ユーザー名2]   # メンバー追加
samba-tool group removemembers [グループ名] [ユーザー名]      # メンバー削除

# --- OU(組織単位)管理 ---
samba-tool ou create "OU=[OU名],DC=example,DC=com"            # OU作成
samba-tool ou delete "OU=[OU名],DC=example,DC=com"            # OU削除
samba-tool ou list                                            # OU一覧

# --- グループポリシー(GPO)---
samba-tool gpo listall                                        # 全GPO一覧
samba-tool gpo list [ユーザー名]                              # ユーザーに適用されるGPO
samba-tool gpo show [GPO ID]                                  # GPO詳細
samba-tool gpo create [GPO名] -U Administrator                # GPO作成
samba-tool gpo setlink "OU=[OU名],DC=example,DC=com" [GPO ID] # GPOをOUにリンク

# --- LDB(LDAP Database)の直接編集 ---
ldbedit -H /var/lib/samba/private/sam.ldb -e vi                # LDBの対話式編集
ldbsearch -H /var/lib/samba/private/sam.ldb "(sAMAccountName=[ユーザー名])"   # 検索

302.4 Sambaドメインメンバーシップ(Weight: 4)

ドメイン参加手順

# 1. smb.conf の設定
# [global]
#   workgroup = EXAMPLE
#   realm = EXAMPLE.COM
#   security = ads
#   idmap config * : backend = tdb
#   idmap config * : range = 10000-19999
#   idmap config EXAMPLE : backend = rid
#   idmap config EXAMPLE : range = 20000-99999
#   winbind use default domain = yes
#   winbind enum users = yes
#   winbind enum groups = yes

# 2. Kerberos設定(/etc/krb5.conf)を前述の通り設定

# 3. ドメイン参加
net ads join -U Administrator                 # ADドメインに参加

# 4. nsswitch.confの編集
# passwd: files winbind
# group:  files winbind

# 5. winbinddの起動
systemctl start winbind
systemctl enable winbind

コマンド集

# ドメイン参加・離脱
net ads join -U [管理者ユーザー名]            # ADドメインに参加
net ads leave -U [管理者ユーザー名]           # ADドメインから離脱
net ads testjoin                              # 参加状態の確認
net ads info                                  # ADの情報表示

# Winbind確認
wbinfo -u                                     # ドメインユーザー一覧
wbinfo -g                                     # ドメイングループ一覧
wbinfo -t                                     # 信頼関係のテスト
wbinfo -a [ユーザー名]%[パスワード]           # 認証テスト
wbinfo -i [ユーザー名]                        # ユーザー情報(NSS形式)
wbinfo -n [ユーザー名]                        # ユーザーのSIDを表示
wbinfo -s [SID]                               # SIDからユーザー名を表示
wbinfo --ping-dc                              # DCへの接続テスト

# ID マッピングの確認
getent passwd [ドメイン名]\\[ユーザー名]      # ドメインユーザーの確認
getent group [ドメイン名]\\[グループ名]       # ドメイングループの確認
id [ユーザー名]                               # UID/GIDの確認

idmap バックエンド

バックエンド 説明
tdb ローカルTDBにマッピングを保存。デフォルト
rid WindowsのRIDからUID/GIDを算出。複数メンバーサーバーで一貫性あり
ad AD上のRFC2307属性(uidNumber, gidNumber)を使用
autorid ridの自動割り当て版。設定が簡単

302.5 Sambaローカルユーザー管理(Weight: 2)

コマンド集

# Linuxユーザーとの同期
useradd -m [ユーザー名]                       # Linuxユーザー作成
smbpasswd -a [ユーザー名]                     # Sambaパスワード設定
pdbedit -L                                    # Sambaユーザー一覧

# パスワードバックエンド
# passdb backend = tdbsam         → /var/lib/samba/private/passdb.tdb
# passdb backend = smbpasswd      → /etc/samba/smbpasswd(レガシー)
# passdb backend = ldapsam        → LDAPサーバー

Topic 303:Samba共有設定

303.1 ファイル共有設定(Weight: 4)

共有設定例

# 基本的なファイル共有
[data]
path = /srv/samba/data
browseable = yes
writable = yes
valid users = @datagroup
create mask = 0664
directory mask = 0775
force group = datagroup

# ホームディレクトリ共有
[homes]
comment = Home Directories
browseable = no
writable = yes
create mask = 0700
directory mask = 0700

# ゲスト共有(認証不要)
[public]
path = /srv/samba/public
browseable = yes
writable = yes
guest ok = yes
force user = nobody

主要な共有パラメータ

パラメータ 説明
path 共有ディレクトリのパス
browseable ネットワーク一覧に表示するか
writable / read only 書き込み許可
valid users アクセスを許可するユーザー/グループ
invalid users アクセスを拒否するユーザー/グループ
write list 読み取り専用共有で書き込みを許可するユーザー
read list 書き込み可能共有で読み取りのみに制限するユーザー
guest ok ゲストアクセスの許可
force user ファイル作成時に強制するユーザー
force group ファイル作成時に強制するグループ
create mask ファイル作成時のパーミッションマスク
directory mask ディレクトリ作成時のパーミッションマスク
veto files アクセスを禁止するファイルパターン
hide files 隠すファイルパターン
vfs objects VFSモジュール(recycle, acl_xattr等)

303.2 ファイル共有セキュリティ(Weight: 3)

コマンド集

# POSIX ACL
setfacl -m u:[ユーザー名]:rwx /srv/samba/data          # ユーザーACL追加
setfacl -m g:[グループ名]:rx /srv/samba/data            # グループACL追加
setfacl -m d:u:[ユーザー名]:rwx /srv/samba/data         # デフォルトACL(新規ファイルに継承)
getfacl /srv/samba/data                                  # ACLの表示
setfacl -x u:[ユーザー名] /srv/samba/data                # ACLの削除
setfacl -b /srv/samba/data                               # 全ACLの削除

# Windows ACL(VFSモジュール使用)
# smb.conf に以下を追加:
# vfs objects = acl_xattr
# map acl inherit = yes
# store dos attributes = yes

認証モードの違い

security 説明
user Samba自身で認証(スタンドアロン)
ads Active Directoryで認証(ドメインメンバー)
domain NT4ドメインで認証(レガシー)
auto Sambaが自動判定

303.3 DFS共有設定(Weight: 1)

重要ポイント

  • DFS(Distributed File System):複数のサーバーにまたがるファイル共有を統合的にアクセスさせる仕組み
  • Samba では msdfs root = yes で有効化

設定例

[dfs]
path = /srv/samba/dfs
msdfs root = yes
browseable = yes
# DFS参照リンクの作成(シンボリックリンク)
ln -s "msdfs:\\server2\share" /srv/samba/dfs/remote-share

303.4 プリンタ共有設定(Weight: 2)

設定例

[global]
printing = cups
printcap name = cups
load printers = yes

[printers]
comment = All Printers
path = /var/spool/samba
browseable = no
printable = yes
guest ok = no
writable = no
create mask = 0700

[print$]
comment = Printer Drivers
path = /var/lib/samba/drivers
browseable = yes
read only = yes
write list = @printadmins

コマンド集

# CUPS連携
lpstat -a                                     # プリンタ状態確認
cupsctl --share-printers                      # プリンタ共有の有効化
rpcclient //[サーバー名] -U [ユーザー名] -c "enumprinters"   # プリンタ一覧

Topic 304:Sambaクライアント設定

304.1 Linux認証クライアント(Weight: 5)

Weight 5 は本試験の中で 最も出題比率が高い サブトピックの一つです。

SSSD(System Security Services Daemon)

設定例(/etc/sssd/sssd.conf)

[sssd]
domains = EXAMPLE.COM
services = nss, pam
config_file_version = 2

[domain/EXAMPLE.COM]
id_provider = ad
auth_provider = ad
access_provider = ad
ad_domain = example.com
krb5_realm = EXAMPLE.COM
realmd_tags = manages-system joined-with-adcli
cache_credentials = True
default_shell = /bin/bash
fallback_homedir = /home/%u@%d
use_fully_qualified_names = False

コマンド集

# SSSD
systemctl start sssd                          # SSSDの起動
sssctl domain-list                            # ドメイン一覧
sssctl domain-status [ドメイン名]             # ドメインの状態
sssctl user-checks [ユーザー名]               # ユーザー認証チェック
sss_cache -E                                  # SSSDキャッシュのクリア

# realmd(AD参加の簡易ツール)
realm discover [ドメイン名]                   # ドメインの検出
realm join [ドメイン名]                       # ドメインへの参加
realm leave                                   # ドメインからの離脱
realm list                                    # 参加済みドメイン一覧
realm permit [ユーザー名]                     # ログイン許可ユーザーの設定
realm permit --all                            # 全ユーザーにログイン許可

# PAM / NSS
getent passwd [ユーザー名]                    # ドメインユーザーの確認
getent group [グループ名]                     # ドメイングループの確認
id [ユーザー名]                               # UID/GID確認

# Kerberos
kinit [ユーザー名]@[レルム名]                 # チケット取得
klist                                         # チケット一覧
kdestroy                                      # チケット破棄

/etc/nsswitch.conf の設定

passwd: files sss                  # SSD経由でADユーザーを解決
group:  files sss
shadow: files sss

304.2 Linux CIFSクライアント(Weight: 3)

コマンド集

# SMB/CIFS共有のマウント
mount -t cifs //[サーバー名]/[共有名] /mnt -o username=[ユーザー名],password=[パスワード]
mount -t cifs //[サーバー名]/[共有名] /mnt -o credentials=[認証情報ファイルパス]
mount.cifs //[サーバー名]/[共有名] /mnt -o username=[ユーザー名]

# 認証情報ファイル(パーミッション600にすること)
# /root/.smbcredentials
# username=[ユーザー名]
# password=[パスワード]
# domain=[ドメイン名]

# /etc/fstab での永続マウント
# //server/share  /mnt/share  cifs  credentials=/root/.smbcredentials,uid=1000,gid=1000  0  0

# smbclient
smbclient -L //[サーバー名] -U [ユーザー名]   # 共有一覧
smbclient //[サーバー名]/[共有名] -U [ユーザー名]   # 対話式接続

# Kerberos認証でのマウント
mount -t cifs //[サーバー名]/[共有名] /mnt -o sec=krb5,cruid=[UID]

304.3 Windowsクライアント(Weight: 3)

重要ポイント

  • Windowsからのドメイン参加手順
  • グループポリシーの適用
  • ユーザープロファイルとフォルダリダイレクション

Windows側のコマンド

# ドメイン参加(PowerShell)
Add-Computer -DomainName "example.com" -Credential "EXAMPLE\Administrator" -Restart

# ネットワークドライブの接続
net use Z: \\[サーバー名]\[共有名] /user:[ドメイン名]\[ユーザー名]

# グループポリシーの更新
gpupdate /force

# ドメイン情報の確認
nltest /dsgetdc:[ドメイン名]

Topic 305:Linux ID管理とファイル共有

305.1 FreeIPAのインストールとメンテナンス(Weight: 2)

重要ポイント

  • FreeIPA = Kerberos + LDAP + DNS + CA を統合したLinux向けID管理基盤
  • Red Hat Identity Management(IdM) のアップストリーム

コマンド集

# FreeIPAサーバーのインストール
ipa-server-install \
  --realm=[レルム名] \
  --domain=[ドメイン名] \
  --ds-password=[ディレクトリサーバーパスワード] \
  --admin-password=[管理者パスワード] \
  --setup-dns --forwarder=[DNSフォワーダーIP]

# FreeIPAクライアントのインストール
ipa-client-install --domain=[ドメイン名] --server=[IPAサーバー名] --realm=[レルム名]

# レプリカのインストール
ipa-replica-install

# サーバー管理
ipactl start                                  # 全サービス起動
ipactl stop                                   # 全サービス停止
ipactl restart                                # 全サービス再起動
ipactl status                                 # サービス状態確認

# Kerberos認証
kinit admin                                   # 管理者チケット取得
klist                                         # チケット確認

305.2 FreeIPAエンティティ管理(Weight: 4)

コマンド集

# --- ユーザー管理 ---
ipa user-add [ユーザー名] --first=[名] --last=[姓] --password          # ユーザー追加
ipa user-del [ユーザー名]                                               # ユーザー削除
ipa user-mod [ユーザー名] --shell=/bin/bash                             # ユーザー変更
ipa user-find                                                           # ユーザー検索
ipa user-show [ユーザー名]                                              # ユーザー詳細
ipa user-disable [ユーザー名]                                           # ユーザー無効化
ipa user-enable [ユーザー名]                                            # ユーザー有効化
ipa passwd [ユーザー名]                                                 # パスワード変更

# --- グループ管理 ---
ipa group-add [グループ名]                                              # グループ作成
ipa group-del [グループ名]                                              # グループ削除
ipa group-add-member [グループ名] --users=[ユーザー名]                  # メンバー追加
ipa group-remove-member [グループ名] --users=[ユーザー名]               # メンバー削除
ipa group-find                                                          # グループ検索
ipa group-show [グループ名]                                             # グループ詳細

# --- ホスト管理 ---
ipa host-add [ホスト名] --ip-address=[IPアドレス]                       # ホスト追加
ipa host-del [ホスト名]                                                 # ホスト削除
ipa host-find                                                           # ホスト検索

# --- サービス管理 ---
ipa service-add HTTP/[ホスト名]@[レルム名]                              # サービス追加
ipa service-find                                                        # サービス検索

# --- DNS管理 ---
ipa dnsrecord-add [ゾーン名] [ホスト名] --a-rec=[IPアドレス]            # Aレコード追加
ipa dnsrecord-del [ゾーン名] [ホスト名] --a-rec=[IPアドレス]            # Aレコード削除
ipa dnsrecord-find [ゾーン名]                                           # レコード検索
ipa dnszone-add [ゾーン名]                                              # ゾーン追加

# --- sudo ルール ---
ipa sudorule-add [ルール名]                                             # sudoルール作成
ipa sudorule-add-user [ルール名] --users=[ユーザー名]                   # ユーザー追加
ipa sudorule-add-host [ルール名] --hosts=[ホスト名]                     # ホスト追加
ipa sudorule-add-allow-command [ルール名] --sudocmds=[コマンドパス]      # コマンド追加

# --- HBAC(ホストベースアクセス制御)---
ipa hbacrule-add [ルール名]                                             # HBACルール作成
ipa hbacrule-add-user [ルール名] --users=[ユーザー名]                   # ユーザー追加
ipa hbacrule-add-host [ルール名] --hosts=[ホスト名]                     # ホスト追加
ipa hbacrule-add-service [ルール名] --hbacsvcs=[サービス名]             # サービス追加
ipa hbactest --user=[ユーザー名] --host=[ホスト名] --service=[サービス名]   # テスト

305.3 FreeIPA Active Directory連携(Weight: 2)

コマンド集

# AD信頼関係の構築
ipa trust-add --type=ad [ADドメイン名] --admin [AD管理者名] --password   # 信頼関係の追加
ipa trust-find                                # 信頼関係一覧
ipa trust-show [ADドメイン名]                 # 信頼関係の詳細
ipa trust-del [ADドメイン名]                  # 信頼関係の削除

# ID範囲の管理
ipa idrange-find                              # ID範囲一覧
ipa idrange-show [範囲名]                     # ID範囲の詳細

# ADユーザーの確認
getent passwd [ADユーザー名]@[ADドメイン名]   # ADユーザーの確認
id [ADユーザー名]@[ADドメイン名]              # UID/GID確認

信頼関係の構造

① FreeIPA (example.com) ← Cross-Realm Trust → AD (ad.example.com)

コンポーネント FreeIPA側 AD側
Kerberos EXAMPLE.COM AD.EXAMPLE.COM
ディレクトリ LDAP(dc=example,dc=com) AD DS
DNS example.com ad.example.com

305.4 ネットワークファイルシステム(NFS)(Weight: 3)

NFSv4とKerberos認証

セキュリティフレーバー

フレーバー 説明
sys AUTH_SYS(UID/GIDベース、暗号化なし)
krb5 Kerberos認証のみ
krb5i Kerberos認証 + 整合性チェック
krb5p Kerberos認証 + 整合性チェック + 暗号化(最も安全)

コマンド集

# NFSサーバー
systemctl start nfs-server                    # NFSサーバー起動
exportfs -a                                   # 全エクスポートを有効化
exportfs -r                                   # エクスポートの再読み込み
exportfs -v                                   # エクスポート一覧(詳細)
showmount -e [サーバーIP]                     # リモートからエクスポート確認

# NFSクライアント
mount -t nfs4 [サーバーIP]:[エクスポートパス] /mnt
mount -t nfs4 -o sec=krb5p [サーバーIP]:[エクスポートパス] /mnt   # Kerberos認証

# RPC確認
rpcinfo -p [サーバーIP]                       # RPCサービスの一覧
nfsstat                                       # NFS統計

# ID マッピング
cat /etc/idmapd.conf                          # NFSv4のIDマッピング設定
# [General]
# Domain = example.com

/etc/exports の書式(Kerberos対応)

/srv/nfs/data  *(rw,sync,no_subtree_check,sec=krb5p)
/srv/nfs/home  192.168.1.0/24(rw,sync,no_root_squash,sec=krb5p)

重要ファイル

  • /etc/exports :エクスポート設定
  • /etc/idmapd.conf :NFSv4のIDマッピング設定
  • /etc/krb5.keytab :NFS Kerberos認証用のキータブ

出題比率(Weight)ランキング

順位 サブトピック Weight 内容
1 302.1 5 Samba ADドメインコントローラー
1 304.1 5 Linux認証クライアント
3 301.2 4 Sambaの設定
3 302.3 4 ADユーザー管理
3 302.4 4 Sambaドメインメンバーシップ
3 303.1 4 ファイル共有設定
3 305.2 4 FreeIPAエンティティ管理
8 301.4 3 Sambaのトラブルシューティング
8 303.2 3 ファイル共有セキュリティ
8 304.2 3 Linux CIFSクライアント
8 304.3 3 Windowsクライアント
8 305.4 3 NFS

試験対策のポイント

頻出テーマ 暗記チェックリスト

必ず覚えるべき項目

  • Sambaデーモンの役割(smbd, nmbd, winbindd, samba
  • smb.conf のグローバルパラメータと共有パラメータ
  • testparm による設定チェック
  • samba-tool によるAD DC管理(ユーザー・グループ・OU・GPO・DNS)
  • Samba AD DCのプロビジョニング手順
  • Kerberos認証の流れ(kinit, klist, kdestroy)と/etc/krb5.conf
  • ドメインメンバーの参加手順(net ads join
  • Winbindの設定とidmapバックエンド(tdb, rid, ad, autorid
  • wbinfo コマンドによる動作確認
  • SSSD の設定(/etc/sssd/sssd.conf)とrealmd
  • NSS/PAM の設定(/etc/nsswitch.conf, /etc/pam.d/
  • POSIX ACL(setfacl, getfacl
  • CIFS マウント(mount.cifs, 認証情報ファイル)
  • FreeIPA のインストール・ユーザー管理・AD信頼関係
  • ipa コマンド体系(user-add, group-add, host-add, trust-add等)
  • HBAC(ホストベースアクセス制御)とsudoルール
  • NFSv4とKerberosセキュリティフレーバー(sys, krb5, krb5i, krb5p
  • /etc/exports の書式とKerberos認証オプション

LPIC-2 と LPIC-3 300 の難易度差

観点 LPIC-2 LPIC-3 300
レベル 各種サーバー構築 エンタープライズ混在環境
Samba 基本的な共有設定 AD DC構築・ドメイン管理・GPO
認証 PAM・LDAP基礎 Kerberos・SSSD・Winbind・FreeIPA
ファイル共有 NFS基礎 Kerberos統合NFS・DFS・CIFS
穴埋め問題 各サーバーの設定パラメータ smb.conf・samba-tool・ipaの詳細パラメータ

おわりに

LPIC-3 300 Mixed Environmentsは SambaActive Directory が試験全体の約6割を占めます。
Sambaの設定ファイル(smb.conf)とsamba-toolコマンドは丸暗記レベルで覚える必要があります。

加えて、FreeIPAKerberos統合NFS はLPIC-3 V3.0で新たに追加されたトピックであり、最新の出題傾向を反映しています。

学習の進め方としては:

  1. Samba AD DCを実際に構築する(仮想環境でLinux + Windows混在ネットワークを構築)
  2. samba-tool のサブコマンドを一通り試す
  3. FreeIPAサーバーを構築し、ipaコマンドを習熟する
  4. Kerberos認証の流れを理解し、NFSとの連携を実践する
  5. Weightの高いトピック(302.1, 304.1)から優先的に学習する

この記事が合格への一助になれば幸いです。

ここまでお読みいただきありがとうございます。
ではまた、お会いしましょう。

参考リンク

6
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?