idmap_rid — SambaのWinbind用idmap_ridバックエンド
idmap_rid バックエンドは、UID や GID と SID を対応付けるための 方法のひとつとして、アルゴリズム的なマッピングの仕組みを提供する。 このケースでは決定論的なマッピングを行うため、データベースを必要 としない。
Note that the idmap_rid module has changed considerably since Samba
versions 3.0. and 3.2.
Currently, there should to be an explicit idmap configuration for each
domain that should use the idmap_rid backend, using disjoint ranges.
One usually needs to define a writeable default idmap range, using
a backent like tdb
or ldap
that can create unix ids, in order to be able to map the BUILTIN sids
and other domains, and also in order to be able to create group mappings.
See the example below.
idmap_ridモジュールはSambaバージョン3.0と3.2からかなり変更されている
事に注意。
現在、それらはdisjointレンジを使うidmap_ridバックエンドを使うべき各ドメインの
ための明示的なidmap設定であるべきである。通常、BUILTIN sidと他のドメインを
マップスル事が出来るようにするためと、グループマッピングを作成できるように
するために、unix idを作成できる、
tdb
かldap
のような
バックエンドを使う、書き込み可能な既定値のidmapレンジを定義する必要がある。
以下の例を参照のこと。
バックエンドが権威を持つと規定されている、uid と gid の利用可能な マッチング範囲を定義する。この範囲はフィルターとして動作することに 注意されたい。UID と GID の計算結果がアルゴリズム的にこの範囲外 になってしまった場合、これらは無視され、対応するマップは破棄される。 このオプションは、UID や GID がたまたまローカルとリモートでそれぞれ 定義された ID と重複してしまうのを避けるために用意されている。
UID や GID から SID を生成したり、取得したSID から UID や GID を 求めたりするためのベースとなる整数を指定する。 これは、base ridよりも小さい、RIDベースのSIDがフィルタされることを 意味する。既定値は許されているRIDに制限されておらず、すなわち、 base_rid の値は0である。base_ridの好ましい値は 1000 とすることが でき、これによりユーザー RIDは1000から始まる(16進で512:訳注間違い?)。
RID用のUnix IDは以下の方法で計算される:
ID = RID - BASE_RID + LOW_RANGE_ID.
それに対応して、与えられたUnix IDからRIDを計算する方法は下記の通り:
RID = ID + BASE_RID - LOW_RANGE_ID.
この例では idmap_rid で2つのドメインを設定し、それは、 基本的なドメインと信頼するドメインであり、tdbへの既定値の idマッピングスキームを残してある。この例はまた、信頼する ドメインに対してのbase_ridパラメーターの使用方法も説明している。
[global] security = domain workgroup = MAIN idmap backend = tdb idmap uid = 1000000-1999999 idmap gid = 1000000-1999999 idmap config MAIN : backend = rid idmap config MAIN : range = 10000 - 49999 idmap config TRUSTED : backend = rid idmap config TRUSTED : range = 50000 - 99999 idmap config TRUSTED : base_rid = 1000