「Idmap config ad」の版間の差分

提供:雑廉堂Wiki
編集の要約なし
 
(同じ利用者による、間の16版が非表示)
7行目: 7行目:


{{imbox
{{imbox
| type = speedy
| style = margin:4px 2%;
| style = margin:4px 2%;
| text  = IDマッピングバックエンドは、Samba Active Directory(AD)ドメインコントローラ(DC)の<code>smb.conf</code>ファイルではサポートされていません。 詳細については、「[[Sambaの更新#idmap configパラメータがsmb.confファイルで設定されているとドメインコントローラ上の共有にアクセスできない|idmap configパラメータがsmb.confファイルで設定されているとドメインコントローラ上の共有にアクセスできない]]」を参照してください。  
| text  = IDマッピングバックエンドは、Samba Active Directory(AD)ドメインコントローラ(DC)の<code>smb.conf</code>ファイルではサポートされていません。 詳細については、「[[Sambaの更新#idmap configパラメータがsmb.confファイルで設定されているとドメインコントローラ上の共有にアクセスできない|idmap configパラメータがsmb.confファイルで設定されているとドメインコントローラ上の共有にアクセスできない]]」を参照してください。  
}}
{{Imbox
| style = margin:4px 2%;
| type = content
| text = winbind 'ad' バックエンドを使用する場合は、ADの<code>Domain Users</code>グループにgidNumber属性を追加しなければいけません。また、Unixに見えるようにしたいすべてのユーザーに対してもまた、uidNumber属性を与えなければいけません。Sambaバージョン4.6.0から、グループのgidNumberを含むgidNumber属性を追加することもでき、smb.confが正しく設定されていれば、これはユーザーのUnixプライマリグループとして使用されます。(原文: From Samba version 4.6.0 , you can also add a gidNumber attribute containing the gidNumber of a group and, providing smb.conf is set up correctly, this will be used as the users Unix primary group. )これらすべてのuidNumber属性とgidNumber属性には、Unixドメインメンバー<code>smb.conf</code>の<code>DOMAIN</code>に設定した範囲内の数値を含める必要があります。
}}
}}


15行目: 22行目:
利点:
利点:


* Active Directory(AD)内のIDの中央管理。
* Active Directory(AD)内のIDの集中管理。
* <code>ad</code>バックエンドを使用するすべてのSambaクライアントとサーバ上の一貫したID。
* <code>ad</code>バックエンドを使用するすべてのSambaクライアントとサーバ上の一貫したID。
* 必要な属性は一度作成するだけで済みます。これはユーザーまたはグループの作成時に行うことができます
* 必要な属性は一度作成するだけで済みます。これはユーザーまたはグループの作成時に行うことができます
* IDは、破損する可能性のあるローカルデータベースに格納されません。したがって、ファイルの所有権は失われません。
* IDはローカルにのみキャッシュされ、DCのADデータベースに格納されます。 つまり、ローカルキャッシュが破損してもファイルの所有権は失われません。


欠点:
欠点:
32行目: 39行目:
== ID範囲の計画 ==
== ID範囲の計画 ==


<code>smb.conf</code>ファイルで<code>ad</code>バックエンドを設定する前に、ドメインごとに一意のID範囲を選択する必要があります。
<code>smb.conf</code>ファイルで<code>ad</code>バックエンドを設定する前に、ドメインごとに一意のID範囲を選択する必要があります。 Sambaがドメイン内に作成された将来のすべてのユーザーおよびグループにIDを割り当てることができるように、範囲は連続的かつ十分に大きくなければなりません。
囲は、Sambaがドメイン内で作成されたすべての将来のユーザとグループのIDを割り当てることができるように、連続していなければなりません


{{imbox
{{imbox
|type = content
|style = margin:4px 2%;
|style = margin:4px 2%;
|text = <code>smb.conf</code>ファイルに設定されている<code>*</code>デフォルトドメインと他のすべてのドメインのID範囲は重複してはいけません。  
|text = <code>smb.conf</code>ファイルに設定されている<code>*</code>デフォルトドメインと他のすべてのドメインのID範囲は重複してはいけません。  
45行目: 51行目:
SambaがActive Directory(AD)からユーザ情報とグループ情報を取得できるようにするには:
SambaがActive Directory(AD)からユーザ情報とグループ情報を取得できるようにするには:


* ユーザは少なくとも <code>uidNumber</code>を持ち、<code><U+200B><U+200B>gidNumber</code>属性をグループ化していなければなりません。 <code>rfc2307</code> <code>winbind NSS info</code>モードを使うとき、ユーザアカウントには <code>loginShell</code><code>unixHomeDirectory</code><code>primaryGroupID</code>セットもなければなりません。
*ユーザーは少なくとも<code>uidNumber</code>属性セットを持っている必要があります。 <code>rfc2307</code> <code>winbind NSS info</code>モードを使用する場合、ユーザーアカウントにも<code>loginShell</code><code>unixHomeDirectory</code>を設定する必要があります。
* コンピュータ、または: 'machine network accounts'は、ドメインメンバ上の共有にアクセスするように<code>uidNumber</code>属性を設定する必要があります。
*グループには、少なくとも<code>gidNumber</code>属性セットが必要です。
* ユーザー、コンピュータ、およびグループIDは、このドメインの <code>smb.conf</code>で設定された範囲内でなければなりません。
*コンピュータ、または 'machine network accounts'は、sambaドメインメンバーの共有にアクセスするために<code>uidNumber</code>属性を設定する必要があります。
* <code>Active Directory Users and Groups</code>(ADUC)ユーティリティを使用してUNIX属性を割り当てる場合は、NIS拡張機能をインストールする必要があります。詳細は、「[[ADにRFC2307を設定する]]」を参照してください。
*ユーザーとコンピュータのプライマリグループには、<code>gidNumber</code>属性を設定する必要があります。
* ユーザーIDとコンピューターIDはすべてのユーザーとコンピューターで一意でなければならず、グループIDはすべてのグループで一意である必要があります。 IDの重複または以前に削除されたアカウントのIDの再利用により、新しいユーザー、コンピュータ、またはグループは、他のまたは以前のID所有者によって作成されたファイルにアクセスできます。 ADUCユーティリティを使用すると、ユーザーおよびグループIDはAD内で自動的に追跡され、新しいユーザーまたはグループの作成時に増分されます。
*ユーザー、コンピュータ、およびグループIDは、このドメインの<code> smb.conf </code>に設定されている範囲内でなければなりません。
* コンピュータID( <code>uidNumber</code>属性)はAD内で自動的には追跡されないので、コンピュータがドメインに参加しているときは、ADUC Attribute Editorタブで手動で設定する必要があります。
*ユーザーIDとコンピュータIDはすべてのユーザーとコンピュータに対して一意である必要があり、グループIDはすべてのグループに対して一意である必要があります。重複したID、または以前に削除されたアカウントのIDを再利用することで、新しいユーザー、コンピュータ、またはグループは、他のまたは以前のID所有者によって作成されたファイルにアクセスできます。 ADUCユーティリティを使用すると、ユーザーIDとグループIDはAD内で自動的に追跡され、新しいユーザーまたはグループを作成するときに増加します。
*コンピュータID(<code>uidNumber</code>属性)はAD内で自動的に追跡されないため、コンピュータがドメインに参加しているときはADUC Attribute Editorタブで手動で設定する必要があります。
 
{{Imbox
| type = content
| style = margin:4px 2%;
| text = UNIX属性を割り当てるのに、<code>Active Directory ユーザーとコンピュータ</code>[[ADUCを使用したADにおけるUnix属性の管理|(ADUC)を使用している]]ならば、NIS拡張がインストールされていなければいけません。詳細は、[[ADにRFC2307を設定する]]を参照してください。
}}


== <code>RFC2307</code>と<code>template</code>モードのオプション ==
== <code>RFC2307</code>と<code>template</code>モードのオプション ==
=== Sambaバージョン4.6.0より前: ===
'''Sambaバージョン4.6.0より前:'''
バックエンドの広告IDマッピングは、smb.confファイルの[global]セクションのwinbind nss infoパラメータで設定された2つのモードをサポートしています。


* <code>winbind nss info = rfc2307</code>:すべての情報がActive Directory(AD)から読み込まれます。
:* ユーザー:アカウント名、UID、ログインシェル、ホームディレクトリパス、およびプライマリグループ。
:* グループ:グループ名とGID。
* <code>winbind nss info = template</code>:以下の値だけがADから読み込まれます:
:* ユーザー:アカウント名、UID、およびプライマリグループ。 ログインシェルとホームディレクトリは、<code>smb.conf</code>ファイルのユーザに依存しない設定によって自動的に設定されます。
:* グループ:グループ名とGID


=== Sambaバージョン4.6.0より: ===
<code>ad</code>IDマッピングバックエンドは、<code>smb.conf</code>の<code>[global]</code>セクションの<code>winbind nss inf</code>パラメータににセットされた2つのモードをサポートしています:
 
* <code>winbind nss info = rfc2307</code>: Active Directory(AD)からすべての情報が読み込まれます。
:* Users: アカウント名、UID、ログインシェル、ホームディレクトリのパス、およびプライマリグループ。
:* Groups:グループ名とGID
 
* <code>winbind nss info = template</code>: ADから次の値のみ読み込まれます。
:* Users:アカウント名、UID、およびプライマリグループ。
:: ログインシェルとホームディレクトリは、<code>smb.conf</code>内にユーザーから独立した設定によって自動的にセットされます。
:* Groups:グループ名とGID
 
 
'''Samba バージョン 4.6.0から:'''


すでに<code>winbind nss info</code>パラメータは使用しなくなり、すでに<code>idmap config DOMAIN:unix_nss_info</code>に置き換えられました。
すでに<code>winbind nss info</code>パラメータは使用しなくなり、すでに<code>idmap config DOMAIN:unix_nss_info</code>に置き換えられました。


<code>ad</code> IDマッピングバックエンドは<code>smb.conf</code>ファイルの <code>[global]</code>セクションの <code>idmap config DOMAIN:unix_nss_info</code>パラメータで設定された2つのモードをサポートしています:
<code>ad</code> IDマッピングバックエンドは<code>smb.conf</code>ファイルの <code>[global]</code>セクションの <code>idmap config DOMAIN:unix_nss_info</code>パラメータにセットされた2つのモードをサポートしています:


* <code>idmap config DOMAIN:unix_nss_info = yes</code>:すべての情報がActive Directory(AD)から読み込まれます:
* <code>idmap config DOMAIN:unix_nss_info = yes</code>: すべての情報がActive Directory(AD)から読み込まれます:
:* ユーザー:アカウント名、UID、ログインシェル、ホームディレクトリパス、およびプライマリグループ。
:* Users: アカウント名、UID、ログインシェル、ホームディレクトリパス、およびプライマリグループ。
:* グループ:グループ名とGID。
:* Group: グループ名とGID。
:* これらの設定はDOMAIN単位で設定されます。つまり、DOMAINごとに異なる設定を行うことができます。
:* これらの設定はDOMAIN単位で設定されます。つまり、DOMAINごとに異なる設定を行うことができます。
:* ユーザがRFC2307の属性を欠いている場合、ログインシェルとホームディレクトリは、 <code>smb.conf</code>ファイルのユーザに依存しない設定によって自動的に設定されます。
:* ユーザがRFC2307の属性を欠いている場合、ログインシェルとホームディレクトリは、 <code>smb.conf</code>ファイルのユーザに依存しない設定によって自動的に設定されます。
* idmap config DOMAIN:unix_nss_info = no:次の値だけがADから読み込まれます。
 
:* ユーザー:アカウント名、UID、およびプライマリグループ。 ログインシェルとホームディレクトリは、<code>smb.conf</code>ファイルのユーザーに依存しない設定によって自動的に設定されます。
* <code>idmap config DOMAIN:unix_nss_info = no</code>: 次の値だけがADから読み込まれます。
:* グループ:グループ名とGID
:* Users: アカウント名、UID、およびプライマリグループ。
:: ログインシェルとホームディレクトリは、<code>smb.conf</code>ファイルのユーザーに依存しない設定によって自動的に設定されます。
:* Group: グループ名とGID
:* これがデフォルト設定です。
:* これがデフォルト設定です。


87行目: 107行目:
== adバックエンドの設定 ==
== adバックエンドの設定 ==


* <code>smb.conf</code>ファイルの<code>[global]</code>セクションに以下を設定します:
:* ローカルの <code>BUILTIN</code>アカウントとドメインメンバーのグループのバックエンドが設定されていない場合は、<code>*</code>デフォルトドメインの<code>tdb</code>バックエンドを追加し、ID範囲を設定します。例えば:


<pre># Default idmap config for local BUILTIN accounts and groups
'''Samba バージョン 4.6.0より前:'''
idmap config * : backend = tdb
 
idmap config * : range = 3000-7999</pre>
* <code>SAMDOM</code>ドメインのIDの範囲を<code>10000-999999</code>を使用するように<code>ad</code>バックエンドを設定するには、<code>smb.conf</code>ファイルの<code>[global]</code>セクションに次のように設定します。:
:: デフォルトのバックエンドの設定は必須です。
 
security = ADS
workgroup = SAMDOM
realm = SAMDOM.EXAMPLE.COM
log file = /var/log/samba/%m.log
log level = 1
winbind nss info = rfc2307
# Default ID mapping configuration for local BUILTIN accounts
# and groups on a domain member. The default (*) domain:
# - must not overlap with any domain ID mapping configuration!
# - must use a read-write-enabled back end, such as tdb.
idmap config * : backend = tdb
idmap config * : range = 3000-7999
# - You must set a DOMAIN backend configuration
# idmap config for the SAMDOM domain
idmap config SAMDOM:backend = ad
idmap config SAMDOM:schema_mode = rfc2307
idmap config SAMDOM:range = 10000-999999
vfs objects = acl_xattr
map acl inherit = yes
store dos attributes = yes
 


:* <code>SAMDOM</code>ドメインの<code>10000-999999</code> ID範囲を使用して広告バックエンドを設定するには:
'''Samba バージョン 4.6.0から:'''


<pre># idmap config for the SAMDOM domain
* <code>SAMDOM</code>ドメインのIDの範囲を<code>10000-999999</code>を使用するように<code>ad</code>バックエンドを設定するには、<code>smb.conf</code>ファイルの<code>[global]</code>セクションに次のように設定します。:
idmap config SAMDOM:backend = ad
 
idmap config SAMDOM:schema_mode = rfc2307
security = ADS
idmap config SAMDOM:range = 10000-999999</pre>
workgroup = SAMDOM
realm = SAMDOM.EXAMPLE.COM
log file = /var/log/samba/%m.log
log level = 1
# Default ID mapping configuration for local BUILTIN accounts
# and groups on a domain member. The default (*) domain:
# - must not overlap with any domain ID mapping configuration!
# - must use a read-write-enabled back end, such as tdb.
idmap config * : backend = tdb
idmap config * : range = 3000-7999
# - You must set a DOMAIN backend configuration
# idmap config for the SAMDOM domain
idmap config SAMDOM:backend = ad
idmap config SAMDOM:schema_mode = rfc2307
idmap config SAMDOM:range = 10000-999999
idmap config SAMDOM:unix_nss_info = yes
vfs objects = acl_xattr
map acl inherit = yes
store dos attributes = yes
 
 
{{Imbox
| type = content
| style = margin:4px 2%;
| text = デフォルトのバックエンドを設定することは必須です。
}}


{{imbox
{{Imbox
|type = content
| type = content
|style = margin:4px 2%;
| style = margin:4px 2%;
|text = '<code>*</code>'デフォルトドメインを含むすべてのドメインの範囲を設定する必要があります。 '<code>*</code>'デフォルトドメインを除くすべてのドメインに対して、バックエンドとスキーマモードを設定する必要があります。 <code>smb.conf</code>ファイルで設定されたすべてのドメインのID範囲は重複してはいけません。
| text = デフォルトのドメイン<code>*</code>を含め、すべてのドメインに範囲を設定する必要があります。 デフォルトドメイン<code>*</code>を除くすべてのドメインに対してバックエンドとスキーマモードを設定する必要があります。 smb.confファイルに設定されているすべてのドメインのID範囲は重複してはいけません。
}}
}}


* Winbind NSS情報モードを設定する:
:* <code>template</code>モードを有効にして、<code>/bin/bash</code>をシェルとして、 <code>/home/%U</code>をホームディレクトリのパスとして設定するには:


<pre># Template settings for login shell and home directory
* Winbind NSS info mode を設定する:
template shell = /bin/bash
template homedir = /home/%U</pre>
::この設定は、 <code>schema_mode = rfc2307</code>パラメータが設定されている各ドメインのすべてのユーザに適用されます。 Samba 4.6.0から、グローバルテンプレート設定は、i<code>dmap config domain_name:unix_nss_info</code>パラメータを有効にすることによって、ドメインベースで上書きすることができます。


::Sambaは <code>%U</code>変数をセッションのユーザ名に解決します。詳細は、 <code>smb.conf(5)</code>のmanページの <code>VARIABLE SUBSTITESS</code>セクションを参照してください。
:* 例えば、シェルを<code>/bin/bash</code>、そしてホームディレクトリパスを<code>/home/%U</code>として、<code>template</code>を有効にして設定するには:


:* Active Directory(AD)からシェルとホームディレクトリを取得できるようにするには、<code>smb.conf</code>ファイルの<code>[global]</code>セクションに次の値を設定します。
# Template settings for login shell and home directory
::* Samba 4.6.0から、この機能をドメイン単位で有効にしてください:
template shell = /bin/bash
template homedir = /home/%U


<pre>idmap config SAMDOM:unix_nss_info = yes</pre>
:: 設定は、<code>schema_mode = rfc2307</code>のパラメータセットを持つ、各ドメインの全てのユーザに適用されます。Samba 4.6.0からは、グローバルのテンプレート設定は、<code>idmap config ''domain_name'':unix_nss_info</code>パラメータを有効にすることによって、ドメインベースで上書きすることができます。
::* Samba 4.5以前では、すべてのドメインに対してこの機能をグローバルに設定しました:


<pre>winbind nss info = rfc2307</pre>
:: Samba は変数<code>%U</code>をセッションユーザー名で置き換えます。詳細は、 マニュアルページの<code>smb.conf(5)</code><code>VARIABLE SUBSTITUTIONS</code>セクションを参照してください。
* デフォルトでは、SambaはWindowsプライマリグループをUnix上のマップされたドメインユーザエントリのプライマリグループとして設定します。 Windowsプライマリグループは、各ユーザエントリの <code>primaryGroupID</code>属性から取得されます。これは、通常、<code>Domain Users</code>グループのRIDに設定されます。このRIDは、Windowsプライマリグループから <code>gidNumber</code>属性を取得するために使用されます。
* Samba 4.6.0以降を実行している場合は、必要に応じてSambaがユーザエントリの <code>gidNumber</code>属性に設定されたプライマリグループを使用するように設定できます。たとえば、 <code>Active Directory Users and Computers</code>アプリケーションを使用する場合、この属性は<code>UNIX Attributes</code>タブに表示されます。ユーザの <code>gidNumber</code>属性に設定されたグループIDを、Windowsプライマリグループではなく各ユーザのプライマリグループとして使用するには、<code>smb.conf</code>ファイルの <code>[global]</code>セクションで次のパラメータを有効にします:


<pre>idmap config SAMDOM:unix_primary_group = yes</pre>
* デフォルトで、SambaはUnixでマップされている、ドメインユーザーエントリーのプライマリグループとして、Windowsプライマリグループを設定します。Windowsプライマリグループはそれぞれのユーザエントリの<code>primaryGroupID</code>属性から取得され、これは、通常<code>Domain Users</code>グループのRIDが設定されます。このRIDは、Windowsプライマリグループから<code>gidNumber</code>属性を取得するために使用されます。


{{imbox
* もし、Samba 4.6.0以降の実行している場合、任意でユーザーエントリーの、<code>gidNumber</code>属性のプライマリグループセットを、代わりに使用するように、Sambaを設定することができます。例えば、<code>Active Directory ユーザーとコンピュータ</code>を使用する時、この属性は<code>UNIX属性</code>タブで表示されます。Windowsプライマリグループの代わりに、ユーザーの<code>gidNumber</code>属性でセットされたグループIDを、各ユーザーのプライマリグループとして使用するには、<code>smb.conf</code>ファイルの<code>[global]</code>セクションの、次のパラメータを有効にしてください:
 
idmap config SAMDOM:unix_primary_group = yes
 
{{Imbox
| type = content
| style = margin:4px 2%;
| text = どちらの設定を使用する場合でも、ユーザーのプライマリグループとして設定されたグループは、<code>gidNumber</code>属性を持っていなければいけません。例えば、全てのアカウントのプライマリグループとして、<code>Domain Users</code>グループのみ使用する場合、<code>Domain Users</code>グループは<code>gidNumber</code>属性を持つ必要があります。Winbindは<code>gidNumber</code>属性を持たないプライマルグループを使用するアカウントをマップすることができません。
}}
 
{{Imbox
| type = content
| type = content
| style = margin:4px 2%
| style = margin:4px 2%;
| text = いずれの設定を使用しても、ユーザープライマリグループとして設定されたグループには、<code>gidNumber</code>属性が設定されている必要があります。たとえば、<code>Domain Users</code>グループのみをすべてのアカウントのプライマリグループとして使用する場合、<code>Domain Users</code>グループには<code>gidNumber</code>属性が設定されている必要があります。 Winbindは、<code>gidNumber</code>属性が設定されていないプライマリグループを使用するアカウントをマップできません。
| text = どちらの設定を使用する場合でも、ユーザーの<code>primaryGroupId</code>属性を変更しないでください。Windowsはすべてのユーザーが<code> Domain Users </code>のメンバーであることに依存しています。Unixユーザーに<code>Domain Users</code>以外のプライマリグループを持つことを要求する場合は、Sambaバージョン4.6.0以降を使うべきです。
}}
}}


* Sambaの設定をリロードする:
* Sambaをリロード:
 
# smbcontrol all reload-config
 
詳しくは、<code>smb.conf(5)</code>と<code>idmap_ad(5)</code>のマニュアルページを参照してください。
 
 
 
 


<pre># smbcontrol all reload-config</pre>
----
詳細は、<code>smb.conf(5)</code>および<code>idmap_ad(5)</code>のマニュアルページを参照してください。
[[Category:Active Directory]]
[[Category:Domain Members]]

2019年3月1日 (金) 18:49時点における最新版

前書き

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モードを使用する場合、ユーザーアカウントにもloginShellunixHomeDirectoryを設定する必要があります。
  • グループには、少なくとも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}}

RFC2307templateモードのオプション

Sambaバージョン4.6.0より前:


adIDマッピングバックエンドは、smb.conf[global]セクションのwinbind nss infパラメータににセットされた2つのモードをサポートしています:

  • winbind nss info = rfc2307: Active Directory(AD)からすべての情報が読み込まれます。
  • Users: アカウント名、UID、ログインシェル、ホームディレクトリのパス、およびプライマリグループ。
  • Groups:グループ名とGID
  • winbind nss info = template: ADから次の値のみ読み込まれます。
  • Users:アカウント名、UID、およびプライマリグループ。
ログインシェルとホームディレクトリは、smb.conf内にユーザーから独立した設定によって自動的にセットされます。
  • Groups:グループ名とGID


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)から読み込まれます:
  • Users: アカウント名、UID、ログインシェル、ホームディレクトリパス、およびプライマリグループ。
  • Group: グループ名とGID。
  • これらの設定はDOMAIN単位で設定されます。つまり、DOMAINごとに異なる設定を行うことができます。
  • ユーザがRFC2307の属性を欠いている場合、ログインシェルとホームディレクトリは、 smb.confファイルのユーザに依存しない設定によって自動的に設定されます。
  • idmap config DOMAIN:unix_nss_info = no: 次の値だけがADから読み込まれます。
  • Users: アカウント名、UID、およびプライマリグループ。
ログインシェルとホームディレクトリは、smb.confファイルのユーザーに依存しない設定によって自動的に設定されます。
  • Group: グループ名とGID
  • これがデフォルト設定です。

新しい設定 unix_primary_groupが追加されました。これにより、ドメインユーザーの代わりにユーザーのプライマリグループに別のグループを使用することができます。

  • これがunix_primary_group = yesで設定されている場合、ユーザープライマリグループは、ユーザーADオブジェクトにあるgidNumber属性から取得されます。
  • これがunix_primary_group = noで設定されている場合、ユーザープライマリグループは「primaryGroupID」属性を使用して計算されます。
  • デフォルトは 'no'です。

adバックエンドの設定

Samba バージョン 4.6.0より前:

  • SAMDOMドメインのIDの範囲を10000-999999を使用するようにadバックエンドを設定するには、smb.confファイルの[global]セクションに次のように設定します。:
security = ADS
workgroup = SAMDOM
realm = SAMDOM.EXAMPLE.COM

log file = /var/log/samba/%m.log
log level = 1

winbind nss info = rfc2307

# Default ID mapping configuration for local BUILTIN accounts
# and groups on a domain member. The default (*) domain:
# - must not overlap with any domain ID mapping configuration!
# - must use a read-write-enabled back end, such as tdb.
idmap config * : backend = tdb
idmap config * : range = 3000-7999
# - You must set a DOMAIN backend configuration
# idmap config for the SAMDOM domain
idmap config SAMDOM:backend = ad
idmap config SAMDOM:schema_mode = rfc2307
idmap config SAMDOM:range = 10000-999999

vfs objects = acl_xattr
map acl inherit = yes
store dos attributes = yes


Samba バージョン 4.6.0から:

  • SAMDOMドメインのIDの範囲を10000-999999を使用するようにadバックエンドを設定するには、smb.confファイルの[global]セクションに次のように設定します。:
security = ADS
workgroup = SAMDOM
realm = SAMDOM.EXAMPLE.COM

log file = /var/log/samba/%m.log
log level = 1

# Default ID mapping configuration for local BUILTIN accounts
# and groups on a domain member. The default (*) domain:
# - must not overlap with any domain ID mapping configuration!
# - must use a read-write-enabled back end, such as tdb.
idmap config * : backend = tdb
idmap config * : range = 3000-7999
# - You must set a DOMAIN backend configuration
# idmap config for the SAMDOM domain
idmap config SAMDOM:backend = ad
idmap config SAMDOM:schema_mode = rfc2307
idmap config SAMDOM:range = 10000-999999
idmap config SAMDOM:unix_nss_info = yes

vfs objects = acl_xattr
map acl inherit = yes
store dos attributes = yes


{{#invoke:Message box|imbox}}

{{#invoke:Message box|imbox}}


  • Winbind NSS info mode を設定する:
  • 例えば、シェルを/bin/bash、そしてホームディレクトリパスを/home/%Uとして、templateを有効にして設定するには:
# 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)VARIABLE SUBSTITUTIONSセクションを参照してください。
  • デフォルトで、SambaはUnixでマップされている、ドメインユーザーエントリーのプライマリグループとして、Windowsプライマリグループを設定します。WindowsプライマリグループはそれぞれのユーザエントリのprimaryGroupID属性から取得され、これは、通常Domain UsersグループのRIDが設定されます。このRIDは、WindowsプライマリグループからgidNumber属性を取得するために使用されます。
  • もし、Samba 4.6.0以降の実行している場合、任意でユーザーエントリーの、gidNumber属性のプライマリグループセットを、代わりに使用するように、Sambaを設定することができます。例えば、Active Directory ユーザーとコンピュータを使用する時、この属性はUNIX属性タブで表示されます。Windowsプライマリグループの代わりに、ユーザーのgidNumber属性でセットされたグループIDを、各ユーザーのプライマリグループとして使用するには、smb.confファイルの[global]セクションの、次のパラメータを有効にしてください:
idmap config SAMDOM:unix_primary_group = yes

{{#invoke:Message box|imbox}}

{{#invoke:Message box|imbox}}

  • Sambaをリロード:
# smbcontrol all reload-config

詳しくは、smb.conf(5)idmap_ad(5)のマニュアルページを参照してください。