2007年12月 5日

[samba-jp:19901]smb.conf %u %g/%U %G マクロの展開

お世話になります
まだらいし@ひろてっくです

この度、samba+LDAP から Windows AD への移行を計画しています
samba マシンはそのままメンバーサーバーとして利用し
クライアントもワークグループ環境からドメイン環境に移行します

どうせならと、現在 samba-3.0.27a でテスト中なのですが


samba サーバーに関しては security = ads で無事 AD 参加が完了し
winbind でユーザー/グループは引けています
idmap も OpenLDAP サーバーにちゃんと作成されています


問題は smb.conf の % マクロ

今まで余り気にしていなかったのですが
ドメイン環境とワークグループ環境で
%u %g と %U %G は違っていたのですね

困ったのは、初回アクセス時にユーザー/グループごとにスクリプトで
ディレクトリを掘って、アクセス権を設定し、クォータ設定していましたが
動かなくなってしまいました


#smb.conf 内
[共有セクション]
path = /mnt/share1/グループ/ユーザー
include = /etc/samba/smb.conf.%g
comment = %u@%g %U@%G %s %S さんのディレクトリ
root preexec = [ユーザーディレクトリ作成スクリプト] %u %g

一部グループはパーティションの関係で
include によってアクセス先をダイナミックに変更しています

#smb.conf.一部クループ名 内
path = /mnt/share2/グループ/ユーザー

ワークグループ環境では問題無く動作していました

ドメイン環境では
%u = Domain\User
%g = Domain\Group
に展開されていますので

smb.conf.Domain\Group とか

winbind separator = + として
smb.conf.Domain+Group

とやってみても include で正常に読んでくれません

大文字マクロ %U %G では
%U = User
%G = Group
とドメイン無しで展開されていたので、大文字マクロで設定すると

ユーザーによって %G が展開される人とそうで無い人がいます
これは認証の関係でしょうか

例えば

# winbind separator 指定無し
# winbind separator = +

smb.conf.Domain\Group
smb.conf.Domain\\Group
smb.conf.DomainGroup (正規表現的に)

smb.conf.Domain+Group
smb.conf.DomainnGroup (正規表現的に)

など置いてみましたが読み込まず
現在手詰まりになってしまいました

ドメインユーザー/グループを指定した include を実現したいのですが
何か良い手は無いものでしょうか?

%u %g %U %G さえ使わなければまったく問題が無いのです
root preexec は昔からよく使ってました
「いちいちユーザーディレクトリなんて作ってられないや」って事で

ちなみに
AD への移行は、グループポリシーを利用したいが為
Windows CAL 的には元々 WSUS 利用のため必要数有りました
ユーザー認証の統合という意味では samba+LDAP で充分と考えています
samba 4.0 が間に合っていれば・・・

そんなところで
どなたかよろしくお願いします

投稿者 xml-rpc : 2007年12月 5日 18:45
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/67266
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。