## 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

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

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

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

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

によって行なわれた。