手当たり次第に書くんだ

飽きっぽいのは本能

CentOS 7 Samba ファイルサーバー構築 – LDAP passdb と共有設定

CentOS 7 は既にサポートが終了しています。このページは新規構築を推奨するものではなく、過去環境の保守、移行前調査、設定の読み解きに使うためのレガシー Linux 手順です。新規構築では現行の Linux ディストリビューションを利用してください。

CentOS 7 サーバー構築・保守ガイドへ戻る

認証基盤としての位置づけ

この記事は、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/share

LDAP 管理パスワードの登録

smbpasswd -w [password]
# Setting stored password for "cn=Manager,dc=mydomain,dc=com" in secrets.tdb

サービス起動

systemctl enable --now smb
systemctl status smb

Samba ユーザー登録

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 6

CentOS 7

Samba と LDAP passdb の確認点

Samba で LDAP passdb を使う場合、Samba アカウント、Unix 権限、SID、共有ディレクトリの権限を合わせて確認します。

  • passdb backend
  • SID とドメイン名。
  • 共有ディレクトリの所有者と権限。
  • LDAP 側の Samba 属性。
CentOS 7 Samba ファイルサーバー構築 – LDAP passdb と共有設定

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

トップへ戻る