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

TAKASHI MADARAISHI hawk @ hirotec.co.jp
2007年 12月 5日 (水) 18:45:20 JST


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

この度、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 が間に合っていれば・・・

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




samba-jp メーリングリストの案内