Name

idmap_tdb2 — Samba の Winbind 用 idmap_tdb2 バックエンド

説明

idmap_tdb2 プラグインはデフォルトの idmap_tdb バックエンドの代替と なるもので、Samba と CTDB におけるクラスター環境において winbindd が SID/uid/gid の対応表を格納するのに使われる。

idmap_rid のようなバックエンドはリードオンリーであるが、これは 割り当て機能を持つバックエンドだと言える。つまり、新しいマッピング を生成するために、新しいユーザーやグループの ID を割り当てる必要が あるということである。(割り当てを受け持つ)アロケータを idmap_tdb2 バックエンド自身が担当することもできるし、idmap_tdb や idmap_ldap といった他のバックエンドにその処理を依頼することもできる。この機能は idmap alloc backend パラメーターにより有効となる。

注意:この(もしくは他のアロケータとなりうる)バックエンドで本機能が 動作するためには、デフォルトのバックエンドが書き込み可能でなければ ならない。uid と gid の割り当てに使われる範囲は、"idmap uid" と "idmap gid" で構成されるデフォルトの範囲が使われる。

さらに、書き込み可能な idmap バックエンドを使うすべてのドメインの ために、割り当てを実行できる唯一のグローバルなバックエンドがあるので、 明示的に tdb2 の idmap バックエンドで構成されたドメインは、 同じ範囲をデフォルトの範囲として持つべきである。つまり、グローバルの uid / gid アロケータを使用する必要がある。以下の例を見て欲しい。

IDMAP オプション

range = low - high

バックエンドが割り当て権限を持っていて、かつ利用可能な uid と gid の範囲を定義する。このパラメーターが指定されない場合 winbind は フェイルオーバーして、smb.conf の "idmap uid" と "idmap gid" オプションを使う。

IDMAP スクリプト

tdb2 idmap バックエンドは、id のマッピングをスクリプトで実行するための smb.conf の idmap : script オプションをサポート している。このスクリプトは、以下のコマンドラインオプションを受け付ける ようになっていなければならない。

	SIDTOID S-1-xxxx
	IDTOSID UID xxxx
	IDTOSID GID xxxx
	

またそのスクリプトは、以下のいずれかのレスポンスを1行で返すように なっている必要がある。

	UID:yyyy
	GID:yyyy
	SID:yyyy
	ERR:yyyy
	

注意:SID を UNIX の ID マッピングに対して渡すにあたり、このスクリプトは SID の全範囲をカバーするべきである。そうでないと、スクリプトではカバー されていない SID が、すでにスクリプトで割り当て済みの ID に割り当てられる 恐れがある。

設定例

tdb2 がどのようにデフォルトの imapd バックエンドとして使われるかという 例を以下に示す。全ドメインについて適用されるグローバルオプションで idmap の範囲を設定していることがわかる。これと同じ範囲が uid/gid の割り当て の際に使われる。

	[global]
	idmap backend = tdb2
	idmap uid = 1000000-2000000
	idmap gid = 1000000-2000000
	

著者

オリジナルの Samba ソフトウェアと関連ユーティリティは、Andrew Tridgell により書かれた。Samba は現在 Samba チームの元で、Linux のカーネルと 同様にオープンソースソフトウェアとして開発されている。

日本語訳

このマニュアルページは Samba 3.3.6 - 3.5.20 対応のものである。

このドキュメントの翻訳は

  • 堀田 倫英(hotta@net-newbie.com)

によって行なわれた。