idmap_autorid — Samba の Winbind 用 idmap_autoridバックエンド
idmap_autoridバックエンドは、idmap_tdbよりもより決定論的な、UID/GID と SIDをマップするためのアルゴリズムによるマッピング方法を提供し、idmap_rid よりもより簡単に設定できる。
モジュールはidmap_ridと同じように動作するが、各ドメインに対して使われる レンジを自動的に設定するので、フォレスト中の各ドメインに対しては、 特定のレンジを指定する必要がなく、唯一設定できる項目は、 user/groupマッピングのために使われることができるuid/gidのレンジと、 オプションの、レンジのサイズである。
ドメインのマッピングはレンジにマップされ、それはautorid.tdbに 格納されるので、このデータベースを常時バックアップする必要がある。
アルゴリズムによって処理が行われるので、このモジュールは、 最小の設定のみで、もっとも簡単に使うことが出来る。
バックエンドが権威を持つ有効な uid と gid に一致する範囲を 定義する。レンジはフィルタとして振る舞うことに注意。 もしも、アルゴリズム的に決定された UID 又は GID がレンジ外に なると、それらは無視され、対応するマップは破棄される。 これは、ローカルとリモートで定義された ID の間で偶然に UID/GID が重なってしまうことを防ぐ方法として用意されている。 範囲は rangesize の倍数である必要があり、必須の BUILTIN ドメインに 十分な id 範囲スペースを確保するには、少なくとも 2 倍の大きさで ある必要があることに注意。既定の範囲サイズが 100000 の場合、 範囲は少なくとも 200000 をとる必要がある。 すなわち、range = 100000 - 299999となる。
ドメインレンジ毎のuid/gidの有効範囲を定義する。最小値は2000 である。この値より大きいRIDを伴うSIDは、有効レンジ数に依存する 拡張レンジにマップされる。もしも、autoridバックエンドが、 有効レンジ外で動作している場合、新しいドメインに対する マップ要求(あるいはすでに存在するドメインに対する新しい 拡張レンジ)は、無視され、対応するマップは破棄される。
例: レンジサイズが10000に設定され、RIDが10000までの users/groupsは、ドメインの最初のレンジに配置される。 RIDが25000のオブジェクトをマップしようとする場合、 拡張レンジが割り当てられ、20000-29999までのすべてのRIDを マップするのに使われる。
1つのレンジはローカルユーザーとグループ用と、Everyone (S-1-1-0) あるいは Creator Owner (S-1-3-0) のような、非ドメインで、よく使われる SIDに使われる。選択されたよく使われるSIDのリストは、それらのマッピングを 作成する時に、最初に事前割り当てされる。
それゆえ、作成出来るローカルユーザーとグループの数は、このオプションに よって制限される。もしも、ローカルユーザーとグループを大量に作る計画が あるならば、このパラメーターを適切に設定する必要がある。
既定値は 100000である。
モジュールをリードオンリモードにする。idmap poolには、 新規のレンジを割り当てる事も、新しいマッピングを作成する事も できない。既定値は no である。
RID用の Unix ID は以下の方法で計算される:
ID = REDUCED RID + IDMAP RANGE LOW VALUE + RANGE NUMBER * RANGE SIZE
ここで、REDUCED RID = RID % RANGE_SIZE で、 DOMAIN RANGE INDEX = RID / RANGE_SIZE はドメインのsidと共に、 RANGE NUMBER(データベースに格納される)を決めるのに使われる。
同じように、与えられた Unix ID のための RID 計算方式は 以下のようになる:
RID = (ID - LOW ID) % RANGE SIZE + DOMAIN RANGE INDEX * RANGE SIZE
ここで、DOMAIN RANGE INDEX は RANGE NUMBER = (ID - LOW ID) / RANGE SIZE によるドメインsidといっしょにデータベースから検索される。
この例はプリンシパルドメインと19の信頼されたドメイン / レンジ拡張 のために 動作する最低限の設定例である。
[global] security = ads workgroup = CUSTOMER realm = CUSTOMER.COM idmap config * : backend = autorid idmap config * : range = 1000000-1999999
この例は、大量のユーザーが存在しうるすべてのドメインと、それに 加えて、SFUマッピング方法を使う信頼されたドメインのための 特定の設定のために、既定値としてidmap_autoridを設定する方法を 示す。idmapレンジとsfuレンジはオーバーラップが許されない 事に注意してほしい。
[global] security = ads workgroup = CUSTOMER realm = CUSTOMER.COM idmap config * : backend = autorid idmap config * : range = 1000000-19999999 autorid:rangesize = 1000000 idmap config TRUSTED : backend = ad idmap config TRUSTED : range = 50000 - 99999 autorid:rangesize = 1000000