CentOS 7 は既にサポートが終了しています。このページは新規構築を推奨するものではなく、過去環境の保守、移行前調査、設定の読み解きに使うためのレガシー Linux 手順です。新規構築では、現在サポートされている Linux ディストリビューションを利用してください。
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/sharesmb.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設定を検証する
testparmLDAP 管理者パスワードを登録する
smbpasswd -wSamba を起動する
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 権限、共有定義、クライアント接続を一つずつ確認すると、どこで認証・認可しているかが見えてきます。
関連する記事
- CentOS 7 サーバー管理ガイド
CentOS 7 系の記事をまとめたハブページです。
参考書籍
参考
書籍
書籍
参考書籍
Samba逆引きリファレンス Samba 3.4対応
Samba のファイルサーバー機能、認証、ドメイン、LDAP 連携を確認したい場合の参考書籍です。価格や在庫はリンク先で確認してください。
Amazon で見るこのリンクは Amazon アソシエイトリンクです。
CentOS 7 Samba ファイルサーバー構築 – LDAP passdb と共有設定



