CentOS 7 で Samba ファイルサーバーを構築し、LDAP を passdb backend として利用する手順です。Samba 単体の共有設定ではなく、LDAP 上のユーザー管理と組み合わせる構成として整理します。
Samba と LDAP を組み合わせる場合、共有ディレクトリ、接続元制御、LDAP 管理 DN、passdb backend、ユーザー登録の責務を分けて考える必要があります。
コマンドはコピペしやすい形を優先しています。ただし、BIND、OpenLDAP、Samba は既存値との重複や環境差が出やすいため、長大な設定ファイルはバックアップを取り、設定断片として確認して反映します。
この手順は CentOS 7 設定マニュアル の一部として整理しています。
参考書籍
参考書籍
Samba逆引きリファレンス Samba 3.4対応
Samba のファイルサーバー機能、認証、ドメイン、LDAP 連携を確認したい場合の参考書籍です。価格や在庫はリンク先で確認してください。
Amazon で見るこのリンクは Amazon アソシエイトリンクです。
smb.conf の作成
smb.conf は明示的に作り直す例です。既存設定がある場合は必ずバックアップを取ります。
cp -a /etc/samba/smb.conf /etc/samba/smb.conf.bak 2>/dev/null || true
cat <<'EOF' > /etc/samba/smb.conf
[global]
dos charset = CP932
domain master = Yes
preferred master = Yes
ldap admin dn = cn=Manager,dc=mydomain,dc=com
ldap group suffix = ou=group
ldap passwd sync = yes
ldap ssl = no
ldap suffix = dc=mydomain,dc=com
ldap user suffix = ou=user
load printers = No
passdb backend = ldapsam:ldaps://localhost/
idmap config * : backend = tdb
hosts allow = 127.0.0.0/8 10.0.0.0/24 10.0.2.0/24
[share]
path = /srv/samba/share
browseable = yes
writable = yes
guest ok = no
EOF共有ディレクトリ
mkdir -p /srv/samba/share
chmod 2770 /srv/samba/shareLDAP 管理パスワードの登録
smbpasswd -w [password]
# Setting stored password for "cn=Manager,dc=mydomain,dc=com" in secrets.tdbサービス起動
systemctl enable --now smb
systemctl status smbSamba ユーザー登録
pdbedit -a [username]
pdbedit -L確認するポイント
- LDAP 側に Samba スキーマが登録されているか。
passdb backendが LDAP 接続先と一致しているか。hosts allowが広すぎないか。- 共有ディレクトリの UNIX 権限と Samba ユーザーが一致しているか。
Samba はファイル共有の設定だけでなく、認証基盤との整合が重要です。LDAP passdb を使う場合、LDAP 側のユーザー、Samba 側のユーザー、ファイルシステム権限を合わせて確認します。
この手順は CentOS 7 設定マニュアル の一部として整理しています。
CentOS 7 Samba ファイルサーバー構築 – LDAP passdb と共有設定



