手当たり次第に書くんだ

飽きっぽいのは本能

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

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

CentOS 7 サーバー管理ガイドへ戻る

CentOS 7 で Samba ファイルサーバーを構築し、LDAP passdb と共有設定を組み合わせる手順です。古い環境では、Samba のユーザー情報を LDAP に持たせ、ファイル共有と認証を連携させている構成があります。

Samba は共有パスだけを見ると単純ですが、実際には UNIX 権限、Samba ユーザー、LDAP、SID、共有定義が絡みます。どこで認証し、どこで認可し、どのディレクトリを公開するかを分けて確認します。

必要パッケージをインストールする

yum install samba samba-client samba-common openldap-clients

共有ディレクトリを作成する

mkdir -p /srv/samba/share
chown -R root:developers /srv/samba/share
chmod 2770 /srv/samba/share

smb.conf をバックアップする

cp -a /etc/samba/smb.conf /etc/samba/smb.conf.bak

基本設定の例

[global]
    workgroup = WORKGROUP
    server string = CentOS 7 Samba Server
    security = user
    passdb backend = ldapsam:ldap://ldap01.mydomain.com
    ldap suffix = dc=mydomain,dc=com
    ldap user suffix = ou=People
    ldap group suffix = ou=Group
    ldap admin dn = cn=Manager,dc=mydomain,dc=com
    map to guest = Never

[share]
    path = /srv/samba/share
    browseable = yes
    writable = yes
    valid users = @developers
    create mask = 0660
    directory mask = 2770

設定を検証する

testparm

LDAP 管理者パスワードを登録する

smbpasswd -w

Samba を起動する

systemctl enable smb nmb
systemctl restart smb nmb
systemctl status smb

接続確認

smbclient -L //localhost -U user01
smbclient //localhost/share -U user01

確認するポイント

  • Samba の SID が意図せず変わっていないか。
  • LDAP 側のユーザーと Samba アカウントの対応が取れているか。
  • 共有ディレクトリの UNIX 権限と Samba 側の valid users が矛盾していないか。
  • LDAP 障害時にファイル共有がどう振る舞うか。

まとめ

Samba と LDAP を組み合わせる構成では、smb.conf だけでは全体を理解できません。CentOS 7 の既存環境では、LDAP passdb、SID、UNIX 権限、共有定義、クライアント接続を一つずつ確認すると、どこで認証・認可しているかが見えてきます。

関連する記事

参考書籍

参考
書籍
参考書籍
Samba逆引きリファレンス Samba 3.4対応

Samba のファイルサーバー機能、認証、ドメイン、LDAP 連携を確認したい場合の参考書籍です。価格や在庫はリンク先で確認してください。

Amazon で見る

このリンクは Amazon アソシエイトリンクです。

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

コメントを残す

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

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

トップへ戻る