1.4.5. rid ID マッピングバックエンドの使用
rid ID マッピングバックエンドを使用するように Samba ドメインメンバーを設定できます。Samba は、Windows セキュリティー識別子 (SID) の相対識別子 (RID) を使用して、Red Hat Enterprise Linux で ID を生成できます。
RID は、SID の最後の部分です。たとえば、ユーザーの SID が S-1-5-21-5421822485-1151247151-421485315-30014 の場合、対応する RID は 30014 になります。
rid ID マッピングバックエンドは、AD ドメインおよび NT4 ドメインのアルゴリズムマッピングスキームに基づいてアカウントおよびグループの情報を計算する読み取り専用 API を実装します。バックエンドを設定する場合は、idmap config DOMAIN : range パラメーターで、RID の最小値および最大値を設定する必要があります。Samba は、このパラメーターで設定される RID の最小値および最大値を超えるユーザーまたはグループをマッピングしません。
読み取り専用のバックエンドとして、rid は、BUILTIN グループなど、新しい ID を割り当てることができません。したがって、* デフォルトドメインにはこのバックエンドを使用しないでください。
rid バックエンドを使用した利点
- 設定された範囲内の RID があるドメインユーザーとグループはすべて、自動的にドメインメンバーで利用可能になります。
- ID、ホームディレクトリー、およびログインシェルを手動で割り当てる必要はありません。
rid バックエンドを使用した場合の短所
- すべてのドメインユーザーは、割り当てられた同じログインシェルとホームディレクトリーを取得します。ただし、変数を使用できます。
-
Samba ドメインのメンバー間でユーザー ID とグループ ID が同じになるのは、全員が
ridバックエンドを使用している場合に限ります。その場合は、ID 範囲設定も同じでなければなりません。 - ドメインメンバーで個々のユーザーまたはグループを除外して、利用できないようにすることはできません。設定されている範囲外にあるユーザーとグループのみが除外されます。
- 異なるドメイン内のオブジェクトが同じ RID を持つ場合、マルチドメイン環境では重複する ID が発生する可能性があります。これは、winbindd が ID を計算するために使用する数式に基づいています。
前提条件
- Samba をインストールしている。
-
ID マッピングを除く Samba 設定が
/etc/samba/smb.confファイルにある。
手順
/etc/samba/smb.confファイルの[global]セクションを編集します。デフォルトドメイン (
*) に ID マッピング設定が存在しない場合は追加します。以下に例を示します。idmap config * : backend = tdb idmap config * : range = 10000-999999ドメインの
ridID マッピングバックエンドを有効にします。idmap config DOMAIN : backend = rid今後割り当てられるすべての RID が収まる大きさの範囲を設定します。以下に例を示します。
idmap config DOMAIN : range = 2000000-2999999Samba は、そのドメインの RID がその範囲内にないユーザーおよびグループを無視します。
重要この範囲は、このサーバーの他のドメイン設定と重複させることはできません。また、この範囲には、今後割り当てられる ID がすべて収まる大きさを設定する必要があります。
すべてのマッピングユーザーに割り当てられるシェルおよびホームディレクトリーのパスを設定します。以下に例を示します。
template shell = /bin/bash template homedir = /home/%U
/etc/samba/smb.confファイルを検証します。# testparmSamba 設定を再読み込みします。
# smbcontrol all reload-config詳細は以下を参照してください。
-
システムの
smb.conf(5)man ページのVARIABLE SUBSTITUTIONSセクション -
RID からローカル ID を計算する方法は、システムの
idmap_rid(8)man ページを参照してください。
-
システムの