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.2-3.3.11 対応のものである。

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

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

によって行なわれた。