「Idmap config ad」の版間の差分
61行目: | 61行目: | ||
{{Imbox | {{Imbox | ||
| type = content | | type = content | ||
| text = <code> Active | | text = UNIX属性を割り当てるのに、<code>Active Directory ユーザーとコンピュータ</code>[[ADUCを使用したADにおけるUnix属性の管理|(ADUC)を使用している]]ならば、NIS拡張がインストールされていなければいけません。詳細は、[[ADにRFC2307を設定する]]を参照してください。 | ||
}} | }} | ||
UNIX属性を割り当てるのに、<code>Active Directory ユーザーとコンピュータ</code>(ADUC) | UNIX属性を割り当てるのに、<code>Active Directory ユーザーとコンピュータ</code>[[ADUCを使用したADにおけるUnix属性の管理|(ADUC)を使用している]]ならば、NIS拡張がインストールされていなければいけません。詳細は、[[ADにRFC2307を設定する]]を参照してください。 | ||
== <code>RFC2307</code>と<code>template</code>モードのオプション == | == <code>RFC2307</code>と<code>template</code>モードのオプション == |
2019年3月1日 (金) 16:33時点における版
前書き
ad
IDマッピングバックエンドは、Active Directory(AD)からアカウントおよびグループ情報を読み取るための読み取り専用API
を実装します。 バックエンドはRFC 2307に基づいています。 詳細については、https://www.rfc-editor.org/rfc/rfc2307.txtを参照してください。
代替案については、アイデンティティマッピングバックエンドを参照してください。
{{#invoke:Message box|imbox}}
{{#invoke:Message box|imbox}}
ad
バックエンドのメリットとデメリット
利点:
- Active Directory(AD)内のIDの集中管理。
ad
バックエンドを使用するすべてのSambaクライアントとサーバ上の一貫したID。- 必要な属性は一度作成するだけで済みます。これはユーザーまたはグループの作成時に行うことができます
- IDはローカルにのみキャッシュされ、DCのADデータベースに格納されます。 つまり、ローカルキャッシュが破損してもファイルの所有権は失われません。
欠点:
- Windowsの「Active Directoryユーザーとコンピュータ」(ADUC)プログラムが使用されていない場合、重複を避けるためにID値を手動で追跡する必要があります。
- RFC2307属性の値は手動で設定する必要があります。
Winbind NSS infoモード固有の機能:
rfc2307
:ユーザの個々のログインシェルとホームディレクトリパス。template
:ログインシェルとホームディレクトリのベースパスはすべてのユーザで同じです。
ID範囲の計画
smb.conf
ファイルでad
バックエンドを設定する前に、ドメインごとに一意のID範囲を選択する必要があります。 Sambaがドメイン内に作成された将来のすべてのユーザーおよびグループにIDを割り当てることができるように、範囲は連続的かつ十分に大きくなければなりません。
{{#invoke:Message box|imbox}}
前提条件
SambaがActive Directory(AD)からユーザ情報とグループ情報を取得できるようにするには:
- ユーザーは少なくとも
uidNumber
属性セットを持っている必要があります。rfc2307
winbind NSS info
モードを使用する場合、ユーザーアカウントにもloginShell
とunixHomeDirectory
を設定する必要があります。 - グループには、少なくとも
gidNumber
属性セットが必要です。 - コンピュータ、または 'machine network accounts'は、sambaドメインメンバーの共有にアクセスするために
uidNumber
属性を設定する必要があります。 - ユーザーとコンピュータのプライマリグループには、
gidNumber
属性を設定する必要があります。 - ユーザー、コンピュータ、およびグループIDは、このドメインの
smb.conf
に設定されている範囲内でなければなりません。 - ユーザーIDとコンピュータIDはすべてのユーザーとコンピュータに対して一意である必要があり、グループIDはすべてのグループに対して一意である必要があります。重複したID、または以前に削除されたアカウントのIDを再利用することで、新しいユーザー、コンピュータ、またはグループは、他のまたは以前のID所有者によって作成されたファイルにアクセスできます。 ADUCユーティリティを使用すると、ユーザーIDとグループIDはAD内で自動的に追跡され、新しいユーザーまたはグループを作成するときに増加します。
- コンピュータID(
uidNumber
属性)はAD内で自動的に追跡されないため、コンピュータがドメインに参加しているときはADUC Attribute Editorタブで手動で設定する必要があります。
{{#invoke:Message box|imbox}}
UNIX属性を割り当てるのに、Active Directory ユーザーとコンピュータ
(ADUC)を使用しているならば、NIS拡張がインストールされていなければいけません。詳細は、ADにRFC2307を設定するを参照してください。
RFC2307
とtemplate
モードのオプション
Sambaバージョン4.6.0より前:
バックエンドの広告IDマッピングは、smb.confファイルの[global]セクションのwinbind nss infoパラメータで設定された2つのモードをサポートしています。
winbind nss info = rfc2307
:すべての情報がActive Directory(AD)から読み込まれます。
- ユーザー:アカウント名、UID、ログインシェル、ホームディレクトリパス、およびプライマリグループ。
- グループ:グループ名とGID。
winbind nss info = template
:以下の値だけがADから読み込まれます:
- ユーザー:アカウント名、UID、およびプライマリグループ。 ログインシェルとホームディレクトリは、
smb.conf
ファイルのユーザに依存しない設定によって自動的に設定されます。 - グループ:グループ名とGID
- ユーザー:アカウント名、UID、およびプライマリグループ。 ログインシェルとホームディレクトリは、
Sambaバージョン4.6.0より:
すでにwinbind nss info
パラメータは使用しなくなり、すでにidmap config DOMAIN:unix_nss_info
に置き換えられました。
ad
IDマッピングバックエンドはsmb.conf
ファイルの [global]
セクションの idmap config DOMAIN:unix_nss_info
パラメータで設定された2つのモードをサポートしています:
idmap config DOMAIN:unix_nss_info = yes
:すべての情報がActive Directory(AD)から読み込まれます:
- ユーザー:アカウント名、UID、ログインシェル、ホームディレクトリパス、およびプライマリグループ。
- グループ:グループ名とGID。
- これらの設定はDOMAIN単位で設定されます。つまり、DOMAINごとに異なる設定を行うことができます。
- ユーザがRFC2307の属性を欠いている場合、ログインシェルとホームディレクトリは、
smb.conf
ファイルのユーザに依存しない設定によって自動的に設定されます。
- idmap config DOMAIN:unix_nss_info = no:次の値だけがADから読み込まれます。
- ユーザー:アカウント名、UID、およびプライマリグループ。 ログインシェルとホームディレクトリは、
smb.conf
ファイルのユーザーに依存しない設定によって自動的に設定されます。 - グループ:グループ名とGID
- これがデフォルト設定です。
- ユーザー:アカウント名、UID、およびプライマリグループ。 ログインシェルとホームディレクトリは、
新しい設定 unix_primary_group
が追加されました。これにより、ドメインユーザーの代わりにユーザーのプライマリグループに別のグループを使用することができます。
- これがunix_primary_group = yesで設定されている場合、ユーザープライマリグループは、ユーザーADオブジェクトにあるgidNumber属性から取得されます。
- これがunix_primary_group = noで設定されている場合、ユーザープライマリグループは「primaryGroupID」属性を使用して計算されます。
- デフォルトは 'no'です。
adバックエンドの設定
smb.conf
ファイルの[global]
セクションに以下を設定します:
- ローカルの
BUILTIN
アカウントとドメインメンバーのグループのバックエンドが設定されていない場合は、*
デフォルトドメインのtdb
バックエンドを追加し、ID範囲を設定します。例えば:
- ローカルの
# Default idmap config for local BUILTIN accounts and groups idmap config * : backend = tdb idmap config * : range = 3000-7999
- デフォルトのバックエンドの設定は必須です。
SAMDOM
ドメインの10000-999999
ID範囲を使用して広告バックエンドを設定するには:
# idmap config for the SAMDOM domain idmap config SAMDOM:backend = ad idmap config SAMDOM:schema_mode = rfc2307 idmap config SAMDOM:range = 10000-999999
{{#invoke:Message box|imbox}}
- Winbind NSS情報モードを設定する:
template
モードを有効にして、/bin/bash
をシェルとして、/home/%U
をホームディレクトリのパスとして設定するには:
# Template settings for login shell and home directory template shell = /bin/bash template homedir = /home/%U
- この設定は、
schema_mode = rfc2307
パラメータが設定されている各ドメインのすべてのユーザに適用されます。 Samba 4.6.0から、グローバルテンプレート設定は、idmap config domain_name:unix_nss_info
パラメータを有効にすることによって、ドメインベースで上書きすることができます。
- この設定は、
- Sambaは
%U
変数をセッションのユーザ名に解決します。詳細は、smb.conf(5)
のmanページのVARIABLE SUBSTITESS
セクションを参照してください。
- Sambaは
- Active Directory(AD)からシェルとホームディレクトリを取得できるようにするには、
smb.conf
ファイルの[global]
セクションに次の値を設定します。
- Samba 4.6.0から、この機能をドメイン単位で有効にしてください:
- Active Directory(AD)からシェルとホームディレクトリを取得できるようにするには、
idmap config SAMDOM:unix_nss_info = yes
- Samba 4.5以前では、すべてのドメインに対してこの機能をグローバルに設定しました:
winbind nss info = rfc2307
- デフォルトでは、SambaはWindowsプライマリグループをUnix上のマップされたドメインユーザエントリのプライマリグループとして設定します。 Windowsプライマリグループは、各ユーザエントリの
primaryGroupID
属性から取得されます。これは、通常、Domain Users
グループのRIDに設定されます。このRIDは、WindowsプライマリグループからgidNumber
属性を取得するために使用されます。 - Samba 4.6.0以降を実行している場合は、必要に応じてSambaがユーザエントリの
gidNumber
属性に設定されたプライマリグループを使用するように設定できます。たとえば、Active Directory Users and Computers
アプリケーションを使用する場合、この属性はUNIX Attributes
タブに表示されます。ユーザのgidNumber
属性に設定されたグループIDを、Windowsプライマリグループではなく各ユーザのプライマリグループとして使用するには、smb.conf
ファイルの[global]
セクションで次のパラメータを有効にします:
idmap config SAMDOM:unix_primary_group = yes
{{#invoke:Message box|imbox}}
- Sambaの設定をリロードする:
# smbcontrol all reload-config
詳細は、smb.conf(5)
およびidmap_ad(5)
のマニュアルページを参照してください。