初めに
LPIC-3 Mixed Environments がバージョン3になったにもかかわらず参考書や問題集が全く無く、何を勉強して良いのか解らず苦労したので、ここに合格までの体験記を記載しておきます。
ちなみに私は、今回の受験前に既にバージョン1は保持していて、今回は更新試験としてバージョン3を受けました。バージョン1の知識がある前提での記載になります。
とは言え、バージョン1との試験範囲の被りは少ない(Active Directory との連携の基本的な所ぐらい)と思っています。Sambaで自分で共有フォルダを設定できたり、ある程度のアクセス制限をかけたりする基本的な方法を知っているのであれば、わざわざバージョン1の書籍を買って勉強するほどのことは無いかなと思います。
(でも、バージョン1のLDAPの知識とか、Kerberosの知識は、試験とは別に知っていると何かと役立ちます。)
もし、Sambaを何も知らない状態から勉強するのであれば、バージョン1の参考書から始めることになるのかな。
この場合も細かく用語を覚えるのは後回しで、ざっくり知識を付ける感じで。
何からすればいいの状態
試験範囲見ると、膨大すぎて気が遠くなりますよね。
記載されていることがほとんど理解できないので、まずは、試験範囲に記載されている「用語とユーティリティ」をネットで検索して、何のことなのか調べてみました。
で、Red Hat のドキュメントにけっこうヒットするんですよね。Red Hat のドキュメントをベースに学べばいい、というのに気づきました。
それにしても、用語が膨大すぎて、この辺ではかなり凹んでました。
結果的に言うと、試験はこんな膨大な用語が出るわけではありません。
知識分野に「Samba ClusteringとCTDBの知識。」と記載されていますが、クラスタリング関係の問題なんて全く出ませんでした。
足掛かりは、LPI日本支部の動画
なんか学習の足掛かりが無いか調べたところ、LPI日本支部 がYoutubeを出してました。
参考になるのは以下かな。
LPIC-3(300 ver3.0混在環境) 旧バージョンからの変更点について
LPIC-3 (300混在環境)プロの講師がFreeIPA詳細解説!
特に、FreeIPAのやつについては、今、FreeIPAに関するまともな解説が Red Hat のドキュメント以外ほとんど見つからない中、かなり詳しく解説されています。
しかも、これ FreeIPA だけじゃなくて、結局試験範囲全般の解説をされてるんですよね。
ここで説明されているものの多くがテストで出てました。この動画は必見です。
最初観たときは、ざっくりしすぎてて、つかみどころが無いよなあと思っていましたが、はっきり言ってテストに出る所を重点的に解説されてます。
自分用のメモを作った
主に上記の動画で、これは覚えておこう!みたいなことを集めて、Windowsパソコンで OneNote に自分用のメモを作り、隙間時間にスマホで見て覚える、みたいなことをやりました。
メモを作って、解からないことをネットで調べて(だいたい、Red Hat のドキュメントがヒットする。)、解かったことをメモに追加する、という感じです。
Red Hat のドキュメントはかなり役立ちました。FreeIPA、SSSD、NFSv4 は Red Hat のドキュメントを読んで運用方法を覚えました。
一番下に、この時作ったメモを張り付けてます。
学易を利用した
ネットでうろついている時に、学易 という所が LPIC-3 300 バージョン3 の問題を出してくれている数少ない学習サイトということを知りました。
画面を見ると、スタイルとか使っていない素のHTMLっぽい画面なので大丈夫か???とか思ってしまうのですが、はっきり言って、ここの問題を完璧に覚えれば、合格できます。
この問題集の問題と似た問題がかなり出ました。
ただ、学易の解説って全然解説になってないんですよね・・・・。
例えば、ユーザー、グループ情報を格納できるSambaバックエンドの解説が、
smbpasswd と ldapsam がある と書かれているんですよね。。。
なんで、最も基本の tdbsam を省略するんじゃあ!! とツッコミどころがけっこうあります。
なので、ある程度学習し終えて試験形式で勉強できるようになった段階で使えば最強かと思います。
ちなみに、期間によりコースが分かれていますが、私がやった時は全120問だったので、1か月で十分でした。
問題に対する正解キーワードがなんとなく解ってくるので、実際、テストでも選択肢を全部読まなくても一瞬で答えを見つけられるようになります。
私は、試験時間90分のうち、50分近く余りました。(全部見直しに使ったけど)
で、合格!
800満点中、合格ライン 500点 で、700点 ピッタリのスコアで合格しました。
バージョン1の時は、500うん十点だったので、それに比べてかなり余裕を持ったスコアでした。
バージョン1は試験範囲がかなり広かったので、バージョン1経験者だと出題範囲が狭まった分簡単になったかなと思うかも。
自分は、1年計画で計画して少しずつ勉強したのですが、要領のいい人ならもっともっと短縮できると思います。
ぶっちゃけ、学易を丸暗記するだけで合格する人もいるんじゃないだろうか。
まとめると、
・LPI日本支部のYoutubeは有益。
・Red Hat のドキュメントで、運用の流れが学べる。
・学易の問題を全問覚えたら合格できる。
最後に、俺様メモ
※間違ってる所があるかもしれません
Samba の暗記
Samba関連のポート
ポート | サービス |
---|---|
139/TCP | NetBIOS over TCP/IP |
445/TCP | CIFS |
137/UDP、138/UDP | nmbd |
53/TCP・UDP | DNS |
88/TCP・UDP | Kerberos KDC |
389/TCP・UDP | LDAP |
636/TCP・UDP | LDAPS |
3268/TCP、3269/TCP | グローバル カタログ |
Samba変数
変数 | 意味 |
---|---|
%L | サーバのNetBIOS名 |
%m | クライアントマシンの NetBIOS 名。 Samba がポート 445 で待機している場合、クライアントがこの情報を送信しないため、この変数は利用できない。 |
%U | サーバにアクセス中のセッションユーザー名。 ログインに使ったユーザー。force user などにより実際のユーザーは違う可能性がある。 |
%G | %Uの所属するプライマリグループ |
%S | セッション名(共有名) |
%I | クライアントマシンのIPアドレス |
%i | クライアントが接続してきたサーバーの IP アドレス。 |
%D | 現ユーザーが所属するドメイン名もしくはワークグル-プ |
%d | サーバープロセスのプロセス ID。 |
%h | Samba が動作しているマシンの インターネットホスト名。 |
%M | クライアントマシンのインターネットホスト名。 |
%T | 現在の日付と時間。 |
Samba関連クライアントコマンド
コマンド | 意味 |
---|---|
smbclient -k | --kerberos Kerberosによる認証を試みる |
smbclient -m | --max-protocol 使用するSMBプロトコルのバージョンを指定 |
smbcacls | 共有上のファイルアクセス権限の表示 |
smb.conf で気になる設定
設定 | 意味 |
---|---|
config backend = registry | レジストリベースのSamba設定 net conf コマンドで設定 デーモン再起動が不要 |
msdfs root = yes | DFS(分散ファイルシステム)の設定 複数のサーバに分散した共有ディレクトリを、ルートを頂点とした1つの共有ツリーとして構成する |
samba-tool
サブコマンド | 意味 |
---|---|
domain provision | ドメインコントローラへの昇格 |
domain join | 既存のドメインにDCまたはMEMBERとして参加 MEMBERとして参加 は net ads join と同じ |
user add、delete、list | ユーザーの追加、削除、一覧表示 |
group add、delete、list group addmembers グループ名 メンバー名 group removemembers グループ名 メンバー名 |
グループの追加、削除、一覧表示 グループにユーザーを追加 グループからユーザーを削除 |
dns add、delete、query | DNSレコードの追加、削除、クエリ |
drs | ディレクトリ複製サービス(DRS)の管理 |
レプリケーションの確立
samba-tool drs replicate プライマリーDCのホスト名かIP セカンダリーDCのホスト名かIP ドメイン名
レプリケーションの確認
samba-tool drs showrepl
デフォルトで存在するグループポリシー
Default Domain Policy, Default Domain Controllers Policy
デフォルトで存在するビルトイン・グローバルグループ
Domain Admins, Domain Users, Domain Guests
デフォルトで初期ユーザーやグローバルグループが格納されるコンテナ
CN=Users ※コンテナはOU(組織単位)と違い、GPOを適用することができない
グローバルカタログ
頻繁に利用される属性のデータベース ポート 3268/TCP、3269/TCP(SSL)
FSMO(Flexible Single Master Operation)
1台しか指定できない特定の枠割
スキーママスタ、ドメインネーミングマスタ
フォレスト内に1台
PDCエミュレータ、RIDプールマスタ、インフラストラクチャマスタ
ドメイン内に1台
インフラストラクチャマスタ
ドメイン内のユーザーやコンピューターと、グループアカウントのメンバー情報とのマッピング情報を保持している。
分散ファイルシステム(DFS)
Samba サーバーは、smb.conf ファイルのグローバル Boolean パラメーター host msdfsを設定することで DFS サーバーにできる。
共有レベルの論理値パラメーターmsdfs rootによって共有を DFS ルートとして指定できる。
Samba 上の DFS ルートディレクトリはシンボリックリンクの形式で DFS リンクを提供できる。
※参考
root# cd /export/dfsroot
root# chown root /export/dfsroot
root# chmod 755 /export/dfsroot
root# ln -s msdfs:サーバ名\共有名 リンク名(リンク名は必ず小文字)
DFS が設定された smb.conf
[global]
netbios name = GANDALF
host msdfs = yes
[dfs]
path = /export/dfsroot
msdfs root = yes
pdbedit でユーザー一覧表示
pdbedit -L -v
-L 全てのアカウント表示
-v 詳細表示
kerberos認証サーバの設定ファイル
kdc.conf
kerberosクライアントの設定ファイル
krb5.conf
[libdefaults]
default_realm=LPI.JP ・・・レルムの指定
[realms]
LPI.JP={
kdc=krb.lpi.jp:88 ・・・Kerberos認証サーバの指定
}
Kerberosの設定ファイル(krb5.conf)において、利用できるセクション名
[libdefaults]
[realms]
[domain_realm]
[capaths]
[appdefaults]
[plugins]
FreeIPA
FreeIPAの導入
ipa-server-install
ipa-replica-prepare
ipa-replica-install
ipa-client-install
FreeIPAのユーザーライフサイクル
Stage User・・・認証不可、準備状態
Active User・・・認証可能
Preserved(保存) User・・・認証不可、使用させないが残しておきたい場合
Deleted User・・・完全消去、復元不可
Stage User⇒Active⇒Active User
Active User⇒Preserve⇒Preserved User
Preserved User
Restore⇒Active User
Staging⇒Staging User
削除はどの状態からでも可能
ipaコマンドの種類
操作対象のオブジェクト
user,group,host,dnsrecord,cert,trust など
操作の種類
add,mod,del,find,show,status など
コマンド例
ipa user-add
Ipa user-show -all ユーザー情報(すべての属性)表示
ipa user-find
ipa user-status
ipa trust-add フォレスト間信頼の作成 Active Directoryとの連携で使用
※オプションはユーザー名の前に指定してもOK
ipa user-add testuser --password
パスワード込みでアクティブユーザーを追加
ipa group-add testgroup
グループを追加
ipa group-add-member testgroup --users=testuser
testgroup に testuser を追加
ipa group-show testgroup
グループに所属しているユーザーの確認
ipa user-show --all testuser
testuserの全ての属性を確認
ipa user-status testuser
ログイン失敗回数、最終ログイン日時の確認
ipa user-find testuser
testuserの検索 ユーザー情報、主な属性が表示される
ipa user-find --all
ユーザーを指定していないので、全ユーザーを検索
--all オプションは、全属性を表示する
アクティブユーザーは、cn=users に所属
ipa stageuser-add tsetuser2 --password
ステージユーザーの追加
ipa stageuser-show testuser2 --all
ステージユーザーの確認
ipa stageuser-active testuser2
ステージユーザーのアクティブ化
ipa user-show testuser2 --all
アクティブユーザーの確認
ipa user-del testuser2 --preserve
アクティブユーザーの保存
ipa user-show testuser2 --all
保存ユーザーの確認
ipa user-del testuser2
保存ユーザーの削除
ipa user-undel testuser2
保存ユーザーをアクティブユーザーにする
ipa user-stage testuser2
保存ユーザーをステージユーザーにする
NFSv4
NFSv4ではKerberos認証が可能
サーバ側設定(/etc/exports)
/share *(sync, wdelay, hide, sec=krb5:krb5i:krb5p, rw, root_squash)
クライアント側設定
mount -t nfs -o sec=krb5 server:/share /mnt,/nfs
NFSv4でACL情報を表示、操作するコマンド
nfs4_getfacl nfs4_setfacl, nfs4_editfacl
SSSD
SSSD(System Security Services Daemon)
クライアントにユーザーと認証情報のローカルキャッシュを作成する
sssd.conf
[sssd]
services=nss,pam,ssh,sudo ・・・利用するサービスを列挙
SSSDを利用するにはクライアント側の/etc/nsswitch.conf に以下の記載が必要
password: filses sss
shadow: filses sss
group: filses sss