[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 メーリングリストの案内