「SambaをActive Directoryドメインメンバとして構成する」の版間の差分
| 137行目: | 137行目: | ||
どのwinbindバックエンドを使用するか決定したら、smb.confの 'idmap config'で使用する範囲をさらに決定する必要があります。デフォルトでは、Unixドメインのメンバーには、複数のブロックのユーザーとグループがあります。  | どのwinbindバックエンドを使用するか決定したら、smb.confの 'idmap config'で使用する範囲をさらに決定する必要があります。デフォルトでは、Unixドメインのメンバーには、複数のブロックのユーザーとグループがあります。  | ||
* ローカルシステムのユーザーとグループ:これらは0~999になります  | |||
* ローカルUnixユーザーとグループ:1000から始まります  | |||
* 「よく知られているSID」:????  | |||
* DOMAINのユーザーとグループ:ADUCでは、デフォルトで10000で開始します  | |||
* 信頼できるドメイン:????  | |||
* 「よく知られているSID」ではないもの、またはDOMAINまたは信頼できるドメインのメンバーであるもの:????  | |||
上記からわかるように、 '<code>*</code>'または 'DOMAIN'の範囲は、ローカルシステムのユーザーとグループを妨害するため、999以下で開始  | |||
するように設定しないでください。また、ローカルのUnixユーザとグループのためのスペースを残しておく必要があります。したがって、 'idmap config'の範囲を3000に設定することは良い妥協案と思われます。  | |||
あなたは、あなたの「DOMAIN」がどれほど大きく成長するかを決める必要があります。また、信頼できるドメインがあるかどうか、将来的にドメインを持っている必要があるかどうかを知る必要があります。  | |||
上記の情報を念頭に置いて、 'idmap config'の範囲を次のように設定できます:  | |||
:{| class="wikitable"  | |||
!ドメイン  | |||
!範囲  | |||
|-  | |||
|<code>*</code>  | |||
|3000-7999  | |||
|-  | |||
|<code>DOMAIN</code>   | |||
|10000-999999  | |||
|}  | |||
次の範囲から始まる信頼できるドメインをもつこともできます。  | |||
:{| class="wikitable"  | |||
!ドメイン  | |||
!範囲  | |||
|-  | |||
|<code>TRUSTED</code>  | |||
|1000000-9999999  | |||
|}  | |||
'<code>*</code>'の範囲を '<code>DOMAIN</code>'の範囲より上に設定すると、 '<code>DOMAIN</code>'が '<code>*</code>'の範囲の開始IDと  | |||
同じIDになると範囲が競合します。  | |||
上記の推奨範囲では、範囲が重複したり、別の範囲を妨げたりすることはありません。  | |||
'<code>*</code>'の範囲の例がすべてに使用されているのを見たことがあるかもしれませんが、これは推奨されておらず、使用すべきではありません。  | |||
ドメインに参加する前に、ドメインメンバのsmb.confファイルを設定します。  | |||
* ファイルを見つけるには、次のように入力します。  | |||
<pre># smbd  -b | grep CONFIGFILE  | |||
  CONFIGFILE: /usr/local/samba/etc/smb.conf</pre>  | |||
このwikipageを読んだら、<code>smb.conf</code>ファイルを編集し、この設定例をあなたの設定の基礎として使用してください。単にそれを切  | |||
り取り&ペーストしないでください:  | |||
<pre>[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.  | |||
       # - Adding just this is not enough  | |||
       # - You must set a DOMAIN backend configuration, see below  | |||
       idmap config * : backend = tdb  | |||
       idmap config * : range = 3000-7999</pre>  | |||
パラメータの詳細については、smb.conf(5)のマニュアルページを参照してください。  | |||
* Sambaに認識させたいドメインごとに、smb.confファイルの[global]セクションにIDマッピング設定を追加する必要があります。  | |||
* Sambaドメインのバックエンドに関する情報を見つけるには、次のハイパーリンクのいずれかをクリックする必要があります。  | |||
{| class="wikitable"  | |||
!バックエンド  | |||
!ドキュメント  | |||
!マニュアルページ  | |||
|-  | |||
|<code>ad</code>  | |||
|[[idmap_config_ad]]  | |||
|<code>idmap_ad(8)</code>  | |||
|-  | |||
|<code>rid</code>  | |||
|[[idmap_config_rid]]  | |||
|<code>idmap_rid(8)</code>  | |||
|-  | |||
|<code>autorid</code>  | |||
|[[idmap_config_autorid]]  | |||
|<code>idmap_autorid(8)</code>  | |||
|-  | |||
|<code>hash</code>  | |||
|[[idmap_config_hash]]  | |||
|<code>idmap_hash(8)</code>  | |||
|-  | |||
|<code>ldap</code>  | |||
|[[idmap_config_ldap]]  | |||
|<code>idmap_ldap(8)</code>  | |||
|-  | |||
|<code>nss</code>  | |||
|[[idmap_config_nss]]  | |||
|<code>idmap_nss(8)</code>  | |||
|}  | |||
{{imbox  | |||
|type = content  | |||
|style = margin:4px 2%  | |||
|text = すべてのドメインにIDマッピング設定を追加します。 デフォルト(<code>*</code>)ドメインと<code>smb.conf</code>ファイルで設定された他のドメインのID範囲は重複してはなりません。  | |||
}}  | |||
2018年3月23日 (金) 18:47時点における版
はじめに
Sambaドメインメンバは、Sambaを実行しているドメインに参加しているLinuxマシンで、NT4プライマリドメインコントローラ(PDC)またはActive Directory(AD)ドメインコントローラ(DC)などのドメインサービスを提供しません。
Sambaドメインメンバーでは、次のことができます。
- ファイルとディレクトリのローカルACLでドメインユーザーとグループを使用します。
 - ファイルサーバーとして機能するように共有を設定します。
 - プリントサービスをプリントサーバーとして機能させるように設定します。
 - ドメインユーザがローカルにインストールされたサービスにローカルでログオンするか、または認証することができるようにPAMを設定します
 
。
Samba NT4ドメインまたはSamba ADの設定の詳細については、「svradmin/samba4/transdoc/domain_control」を参照してください。
インストールの準備
一般的な準備
- Sambaプロセスが実行中でないことを確認します
 
# ps ax | egrep "samba|smbd|nmbd|winbindd"
もし、samba、smbd、nbmd、あるいはwinbinddなどのプロセスが出力された場合は、そ
のプロセスを停止させて下さい。
- 以前にこのホストでSambaインストールを実行していた場合:
 - 既存の
smb.confファイルを削除してください。ファイルへのパスを一覧表示するには、次のように入力して下さい。 
# smbd -b | grep "CONFIGFILE" CONFIGFILE: /usr/local/samba/etc/samba/smb.conf
- 全ての
*.tdbや*.ldbなどのSambaデータベースファイルを削除して下さい。Sambaデータベースを含むフォルダを一覧表示するには: 
# smbd -b | egrep "LOCKDIR|STATEDIR|CACHEDIR|PRIVATE_DIR" LOCKDIR: /usr/local/samba/var/lock/ STATEDIR: /usr/local/samba/var/locks/ CACHEDIR: /usr/local/samba/var/cache/ PRIVATE_DIR: /usr/local/samba/private/
クリーンな環境から始めて、混乱を防ぐのに役立ちます。以前のSambaインストールのファイルは、新しいドメインメンバのインストールと混在 することはありません。
Active Directoryドメインに参加するためのドメインメンバーの準備
DNSの設定
詳細は、「[[./linux_and_unix_dns_configuration|./linux_and_unix_dns_configuration]]」を参照して下さい。
Kerberosの設定
SambaはHeimdalとMIT Kerberosバックエンドをサポートしています。ドメインメンバーにKerberosを設定するには、/etc/krb5.confファイルで次のように設定します。
[libdefaults]
    default_realm = SAMDOM.EXAMPLE.COM
    dns_lookup_realm = false
    dns_lookup_kdc = true
前の例では、SAMDOM.EXAMPLE.COMレルムのKerberosを構成しています。
Sambaチームは/etc/krb5.confファイルにさらなるパラメータを設定しないことを推奨しています。
時間同期の設定
Kerberosでは、すべてのドメインメンバーに時刻同期が必要です。したがって、NTPクライアントを設定することをお勧めします。詳細について は、Unixドメインメンバでの時刻同期の設定を参照してください。
ローカルホスト名の解決
ホストをドメインに参加させると、SambaはAD DNSゾーンにホスト名を登録しようとします。このため、netユーティリティは、DNSを使用するか
、/etc/hostsファイルの正しいエントリを使用してホスト名を解決できる必要があります。
ホスト名が正しく解決されることを確認するには、getent hostsコマンドを使用します。例えば:
# getent hosts M1 10.99.0.5 M1.samdom.example.com M1
ホスト名とFQDNは、127.0.0.1のIPアドレス、またはドメインメンバーのLANインターフェイスで使用されているIPアドレス以外のIPアドレスに解決してはなりません。
出力が表示されないか、ホストが間違ったIPアドレスに解決され、dhcpを使用していない場合は、/etc/hostsファイルに正しいエ
ントリを設定します。例えば:
127.0.0.1 localhost 10.99.0.5 M1.samdom.example.com M1
dhcpを使用している場合は、/etc/hostsに上記の '127.0.0.1'行しか含まれていないことを確認してください。引き続き問題が発
生する場合は、DHCPサーバーを制御しているシステム管理者に連絡してください。
- Debian関連のシステムでは、
/etc/hostsに127.0.1.1というホスト名も表示されますので、sambaをインストールする前にそれを削除してください。 - 次の行はそのままにして下さい:
127.0.0.1 localhost 
マシンのホスト名にエイリアスを追加する必要がある場合は、127.0.0.1の行ではなく、マシンのipaddressで始まる行の末尾にエ
イリアスを追加します。
NT4ドメインに参加するためのドメインメンバの準備
ホストをNT4ドメインに参加させるには、準備は必要ありません。
Sambaのインストール
詳細はSambaのインストールを参照してください。
{{#invoke:Message box|imbox}}
Sambaの設定
基本的なsmb.confファイルの設定
UNIXドメインメンバーにsmb.confを設定するときには、いくつかの決定をする必要があります。
- Samba AD DCを含め、全ての場所でユーザーとグループのIDが同じであることを要求していますか?
 - ユーザーとグループがUnixドメインメンバー上で同じIDを持つことのみを望みますか?
 
決定をした後、もう一つ決めることがあります。この決定は、あなたがすでに決めた事に対して影響を与える可能性があります。
- 個々のユーザが異なるログインシェルやUnixホームディレクトリパスを必要としますか?
 
ユーザーが異なるログインシェルやUnixホームディレクトリパスを持つ必要がある場合、またはそれらのIDがどこにでも同じIDを持つようにするには、winbind 'ad'バックエンドを使用し、RFC2307属性をADに追加する必要があります。
{{#invoke:Message box|imbox}}
{{#invoke:Message box|imbox}}
ユーザーが認証にSamba AD DCのみを使用し、そのアカウントにデータを格納したりログインしたりしない場合は、winbind 'rid'バックエンドを使用できます。これはWindows RIDからのユーザーIDとグループIDを計算します。もし、すべてのUnixドメインメンバーのsmb.confの[global]を同じにすれば、同じIDを取得します。 'rid'バックエンドを使用する場合、ADに何も追加する必要はなく、実際にはRFC2307の属性は無視されます。 'rid'バックエンドを使用する場合、smb.confに 'template shell'と 'template homedir'パラメータを設定する必要があります。これらはグローバル設定であり、RFC2307の属性とは異なり、誰もが同じログインシェルとUnixホームディレクトリパスを取得します。個々のUNIXホームディレクトリのパスとシェルを設定します。
Sambaを設定するもう1つの方法があります。これは、ユーザとグループが同じIDをどこにでも持つことを要求しますが、ユーザが同じログインシェルを持ち、同じUnixホームディレクトリパスを使用するだけです。 winbind 'ad'バックエンドを使用し、smb.confのテンプレート行を使用す ることで、これを行うことができます。この方法では、uidNumber属性とgidNumbers属性をADに追加するだけで済みます。
どのwinbindバックエンドを使用するか決定したら、smb.confの 'idmap config'で使用する範囲をさらに決定する必要があります。デフォルトでは、Unixドメインのメンバーには、複数のブロックのユーザーとグループがあります。
- ローカルシステムのユーザーとグループ:これらは0~999になります
 - ローカルUnixユーザーとグループ:1000から始まります
 - 「よく知られているSID」:????
 - DOMAINのユーザーとグループ:ADUCでは、デフォルトで10000で開始します
 - 信頼できるドメイン:????
 - 「よく知られているSID」ではないもの、またはDOMAINまたは信頼できるドメインのメンバーであるもの:????
 
上記からわかるように、 '*'または 'DOMAIN'の範囲は、ローカルシステムのユーザーとグループを妨害するため、999以下で開始
するように設定しないでください。また、ローカルのUnixユーザとグループのためのスペースを残しておく必要があります。したがって、 'idmap config'の範囲を3000に設定することは良い妥協案と思われます。
あなたは、あなたの「DOMAIN」がどれほど大きく成長するかを決める必要があります。また、信頼できるドメインがあるかどうか、将来的にドメインを持っている必要があるかどうかを知る必要があります。
上記の情報を念頭に置いて、 'idmap config'の範囲を次のように設定できます:
ドメイン 範囲 *3000-7999 DOMAIN10000-999999 
次の範囲から始まる信頼できるドメインをもつこともできます。
ドメイン 範囲 TRUSTED1000000-9999999 
'*'の範囲を 'DOMAIN'の範囲より上に設定すると、 'DOMAIN'が '*'の範囲の開始IDと
同じIDになると範囲が競合します。
上記の推奨範囲では、範囲が重複したり、別の範囲を妨げたりすることはありません。
'*'の範囲の例がすべてに使用されているのを見たことがあるかもしれませんが、これは推奨されておらず、使用すべきではありません。
ドメインに参加する前に、ドメインメンバのsmb.confファイルを設定します。
- ファイルを見つけるには、次のように入力します。
 
# smbd -b | grep CONFIGFILE CONFIGFILE: /usr/local/samba/etc/smb.conf
このwikipageを読んだら、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.
       # - Adding just this is not enough
       # - You must set a DOMAIN backend configuration, see below
       idmap config * : backend = tdb
       idmap config * : range = 3000-7999
パラメータの詳細については、smb.conf(5)のマニュアルページを参照してください。
- Sambaに認識させたいドメインごとに、smb.confファイルの[global]セクションにIDマッピング設定を追加する必要があります。
 - Sambaドメインのバックエンドに関する情報を見つけるには、次のハイパーリンクのいずれかをクリックする必要があります。
 
| バックエンド | ドキュメント | マニュアルページ | 
|---|---|---|
ad
 | 
idmap_config_ad | idmap_ad(8)
 | 
rid
 | 
idmap_config_rid | idmap_rid(8)
 | 
autorid
 | 
idmap_config_autorid | idmap_autorid(8)
 | 
hash
 | 
idmap_config_hash | idmap_hash(8)
 | 
ldap
 | 
idmap_config_ldap | idmap_ldap(8)
 | 
nss
 | 
idmap_config_nss | idmap_nss(8)
 | 
{{#invoke:Message box|imbox}}