CentOS 8 は既に通常の CentOS Linux としてはサポートが終了しています。このページは新規構築を推奨するものではなく、過去環境の保守、移行前調査、設定の読み解きに使うためのレガシー Linux 手順です。新規構築では、現在サポートされているディストリビューションを利用してください。
CentOS 8 の 389 Directory Server と Samba を連携させるために、LDAP スキーマの位置づけを整理する記事です。Samba を LDAP passdb と組み合わせる場合、単に LDAP サーバーへ接続できるだけでは足りません。Samba が必要とする属性やオブジェクトクラスをディレクトリ側で扱える必要があります。
この記事では、389 Directory Server に Samba 連携用のスキーマを追加する考え方と、既存環境で確認すべきポイントを整理します。
Samba 連携で見るべきもの
- Samba 側の passdb backend が LDAP を参照しているか。
- 389 Directory Server 側に Samba 用 schema が入っているか。
- ユーザー、グループ、SID、sambaSID などの属性がどう管理されているか。
- Samba の認証と Linux の NSS / PAM 認証を混同していないか。
スキーマの確認
dsconf localhost schema list | grep -i samba
ldapsearch -x -b cn=schema objectClasses | grep -i sambaSamba 用スキーマを追加する場合
実際のスキーマファイル名や導入方法は環境により異なります。既存環境では、追加済みかどうか、どの LDIF を投入したか、変更履歴が残っているかを確認します。
ldapmodify -x -D "cn=Directory Manager" -W -f samba-schema.ldifSamba 側の参照設定を確認する
testparm -s | grep -E "passdb backend|ldap"確認するポイント
- Directory Manager で Samba から接続していないか。
- Samba 用 BIND DN の権限が過剰でないか。
- SID が意図せず変わっていないか。
- ファイル共有の UNIX 権限と Samba アカウントが一致しているか。
まとめ
389 Directory Server と Samba の連携では、LDAP 接続、スキーマ、SID、passdb、共有ディレクトリ権限を分けて確認します。CentOS 8 の既存環境では、スキーマが追加されている理由と、Samba 側がどの DN で何を読んでいるのかを追える状態にすることが重要です。
関連する記事
- CentOS 8 389 Directory Server 構築 #1 – 導入と TLS 証明書の登録
389 Directory Server の導入と TLS を整理します。 - CentOS 8 389 Directory Server 構築 #3 – BIND ユーザーとアクセス制御
アプリケーション連携用の BIND DN とアクセス制御を扱います。
参考書籍
書籍
Samba のファイルサーバー機能、認証、ドメイン、LDAP 連携を確認したい場合の参考書籍です。価格や在庫はリンク先で確認してください。
Amazon で見るこのリンクは Amazon アソシエイトリンクです。

