CentOS 8 は既に通常の CentOS Linux としてはサポートが終了しています。このページは新規構築を推奨するものではなく、過去環境の保守、移行前調査、設定の読み解きに使うためのレガシー Linux 手順です。新規構築では、現在サポートされているディストリビューションを利用してください。
CentOS 8 の 389 Directory Server と Samba を連携させる場合、LDAP 接続だけでなく Samba が必要とするスキーマ、SID、passdb、BIND DN の権限を分けて確認します。この記事では、既存環境で Samba 連携用スキーマがどのように使われているかを読むための確認項目を扱います。
Samba 連携で見るべきもの
- Samba 側の
passdb backendが LDAP を参照しているか。 - 389 Directory Server 側に Samba 用 schema が入っているか。
- ユーザー、グループ、SID、
sambaSIDなどの属性がどう管理されているか。 - Samba の認証と Linux の NSS / PAM 認証を混同していないか。
- Samba 用 BIND DN の権限が必要最小限になっているか。
スキーマを確認する
既存環境では、まず Samba 関連の objectClass や attribute が登録されているかを確認します。コマンドの結果だけで判断せず、どの LDIF を投入したか、変更履歴が残っているかも合わせて見ます。
dsconf localhost schema list | grep -i samba
ldapsearch -x -b cn=schema objectClasses | grep -i samba
ldapsearch -x -b cn=schema attributeTypes | grep -i sambaSamba 用スキーマを追加する場合
スキーマファイル名や導入方法は環境により異なります。新規に投入する前に、既に同等のスキーマが入っていないか、属性名や OID が重複しないかを確認します。既存環境では、投入作業そのものよりも、何を入れたかを追える状態にすることが重要です。
ldapmodify -x -D "cn=Directory Manager" -W -f samba-schema.ldifSamba 側の参照設定を確認する
Samba 側では、passdb backend、LDAP 接続先、suffix、admin dn を確認します。ここで Directory Manager を直接使っている場合は、権限が広すぎる可能性があります。
testparm -s | grep -E "passdb backend|ldap"
testparm -s | grep -E "ldap suffix|ldap user suffix|ldap group suffix|ldap admin dn"SID とアカウント属性を確認する
Samba 連携では SID が重要です。ドメイン SID、ユーザーの sambaSID、UNIX 側の uid/gid の関係が崩れると、認証できても共有ディレクトリの権限が合わないことがあります。
net getlocalsid
pdbedit -L
ldapsearch -x -LLL "(sambaSID=*)" dn sambaSID uid uidNumber gidNumberBIND DN と権限を確認する
Samba から LDAP を参照するための BIND DN は、必要な範囲だけ読める、または必要な範囲だけ更新できるようにします。Directory Manager をアプリケーション連携に使い回すと、事故時の影響範囲が大きくなります。
- Samba 用 BIND DN が専用ユーザーになっているか。
- パスワードの保管場所と権限が適切か。
- 読み取りだけで足りる処理と、更新が必要な処理を分けているか。
- アクセス制御の変更履歴が残っているか。
確認するポイント
- LDAP 接続、スキーマ登録、Samba の passdb 設定を分けて確認しているか。
- Samba 用 schema が必要になった理由を説明できるか。
- SID が意図せず変わっていないか。
- ファイル共有の UNIX 権限と Samba アカウントが一致しているか。
- CentOS 8 の EOL を前提に、移行先で同じ LDAP / Samba 構成を再現する必要があるかを判断しているか。
まとめ
389 Directory Server と Samba の連携では、LDAP に接続できることだけでは不十分です。スキーマ、SID、passdb、BIND DN、共有ディレクトリ権限を分けて確認すると、既存環境の構成を読みやすくなります。CentOS 8 環境を移行する場合は、Samba 側がどの DN で何を読んでいるのか、どの属性を前提にしているのかを追える状態にしておくことが大切です。
関連する記事
参考書籍
書籍
Samba のファイルサーバー機能、認証、ドメイン、LDAP 連携を確認したい場合の参考書籍です。価格や在庫はリンク先で確認してください。
Amazon で見るこのリンクは Amazon アソシエイトリンクです。

