CentOS 7 は既にサポートが終了しています。このページは新規構築を推奨するものではなく、過去環境の保守、移行前調査、設定の読み解きに使うためのレガシー Linux 手順です。新規構築では現行の Linux ディストリビューションを利用してください。
参考書籍
Samba逆引きリファレンス Samba 3.4対応
Samba のファイルサーバー機能、認証、ドメイン、LDAP 連携を確認したい場合の参考書籍です。価格や在庫はリンク先で確認してください。
Amazon で見るこのリンクは Amazon アソシエイトリンクです。
認証基盤としての位置づけ
この記事は、CentOS 7 で Samba の passdb を LDAP と連携させる手順です。LDAP がアカウント情報を保持し、Samba がファイル共有と Windows クライアント向けの認証処理を担う、という役割分担を意識すると読みやすくなります。
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 設定マニュアル の一部として整理しています。
LDAP / Samba 関連記事
CentOS 5
- CentOS 5 OpenLDAP サーバー構築 – slapd.conf と初期データ登録
- CentOS 5 LDAP 参照設定 – setup コマンドで LDAP クライアントを構成する
- CentOS 5 LDAP 統合認証 – ユーザー情報を一元管理する考え方
- CentOS 5 Samba ファイルサーバー構築 – OpenLDAP 連携と共有設定
CentOS 6
- CentOS 6 OpenLDAP サーバー構築 – slapd と LDAP ディレクトリの基本
- CentOS 6 Linux 認証に LDAP を使う – NSS / PAM 連携の基本
- CentOS 6 Samba ファイルサーバー構築 – Windows 共有と認証設定
CentOS 7
- CentOS 7 LDAP サーバー構築 – OpenLDAP の初期設定と TLS
- CentOS 7 LDAP データ登録 – base / group / user の LDIF 例
- CentOS 7 LDAP クライアント設定 – authconfig と nslcd の LDAPS 接続
- CentOS 7 Samba ファイルサーバー構築 – LDAP passdb と共有設定(この記事)
Samba と LDAP passdb の確認点
Samba で LDAP passdb を使う場合、Samba アカウント、Unix 権限、SID、共有ディレクトリの権限を合わせて確認します。
passdb backend。- SID とドメイン名。
- 共有ディレクトリの所有者と権限。
- LDAP 側の Samba 属性。
CentOS 7 Samba ファイルサーバー構築 – LDAP passdb と共有設定



