「Samba AD DC上でのWinbinddの設定」の版間の差分
編集の要約なし |
|||
(同じ利用者による、間の22版が非表示) | |||
1行目: | 1行目: | ||
= はじめに = | |||
<code>Winbindd</code>サービスを使用すると、次のことが可能になります。 | <code>Winbindd</code>サービスを使用すると、次のことが可能になります。 | ||
6行目: | 6行目: | ||
* <code>ls</code> コマンド等で、ドメインユーザやグループを表示できます。 | * <code>ls</code> コマンド等で、ドメインユーザやグループを表示できます。 | ||
Samba アクティブディレクトリ(AD)ドメインコントローラ(DC)での<code>Winbindd</code> | Samba アクティブディレクトリ(AD)ドメインコントローラ(DC)での<code>Winbindd</code>の構成は、ドメインメンバの場合とは異なります。ドメインメンバとしてサービスを設定するには、[[Sambaをドメインメンバとして構成する]] を参照して下さい。 | ||
== Winbind と Winbinddサービスとの違い == | == Winbind と Winbinddサービスとの違い== | ||
Samba 4.0と4.1は、<code>samba</code>コマンドに組み込まれた新しい<code>Winbind</code>実装を使用していました。 しかし、この実装は正 | Samba 4.0と4.1は、<code>samba</code>コマンドに組み込まれた新しい<code>Winbind</code>実装を使用していました。 しかし、この実装は正 | ||
しく機能しませんでした。 このため、Samba 4.2では<code>winbindd</code>ユーティリティをドメインコントローラ(DC)で使用することがで | しく機能しませんでした。 このため、Samba 4.2では<code>winbindd</code>ユーティリティをドメインコントローラ(DC)で使用することがで | ||
きました。 Samba 4.2よりも前のSambaを実行している場合、<code>Winbindd</code>を使用する前に、サポートされているバージョンに更新してください。 詳細は、「[[Sambaの更新]]」を参照してください。 | きました。 Samba 4.2よりも前のSambaを実行している場合、<code>Winbindd</code>を使用する前に、サポートされているバージョンに更新してください。 詳細は、「[[Sambaの更新]]」を参照してください。 | ||
== Sambaドメインコントローラ上でのIDマッピング == | == Sambaドメインコントローラ上でのIDマッピング == | ||
IDマッピングは、Samba ドメインコントローラ(DC)では、ドメインメンバの場合とは異なる動作をします。例えば、<code>smb.conf</code> ファイルで<code>ad</code>(rfc2307)や<code>rid</code>などのIDマッピングバックエンドを構成することはサポートされていないため、<code>samba</code>サービスが失敗する可能性があります。詳細については「[Sambaの更新#idmap configパラメータがsmb.confファイルで設定されているとドメインコントローラ上の共有にアクセスできない]」を参照して下さい | IDマッピングは、Samba ドメインコントローラ(DC)では、ドメインメンバの場合とは異なる動作をします。例えば、<code>smb.conf</code> ファイルで<code>ad</code>(rfc2307)や<code>rid</code>などのIDマッピングバックエンドを構成することはサポートされていないため、<code>samba</code>サービスが失敗する可能性があります。詳細については「[[Sambaの更新#idmap configパラメータがsmb.confファイルで設定されているとドメインコントローラ上の共有にアクセスできない|idmap configパラメータがsmb.confファイルで設定されているとドメインコントローラ上の共有にアクセスできない]]」を参照して下さい | ||
SambaアクティブディレクトリDCでは、<code>Winbindd</code>は常にユーザID(<code>UID</code>)およびグループID(<code>GID</code>)を、ADオブジェクトに設定された<code>uidNumber</code>および<code>gidNumber</code>属性で設定された値から、読み取ります。<code>UID</code>または<code>GID</code>が割りあてられていないユーザ、及びグループの場合、IDはDC上でローカルに作成され、<code>/usr/local/samba/private/idmap.ldb</code>に格納されます。 | SambaアクティブディレクトリDCでは、<code>Winbindd</code>は常にユーザID(<code>UID</code>)およびグループID(<code>GID</code>)を、ADオブジェクトに設定された<code>uidNumber</code>および<code>gidNumber</code>属性で設定された値から、読み取ります。<code>UID</code>または<code>GID</code>が割りあてられていないユーザ、及びグループの場合、IDはDC上でローカルに作成され、<code>/usr/local/samba/private/idmap.ldb</code>に格納されます。 | ||
{{imbox | |||
| style = margin:4px 2%; | |||
| text = ローカルIDが生成された後にADオブジェクトのプロパティにIDを設定すると、Winbinddはwinbinddのキャッシュの有効期限が切れた後、または<code>net cache flush</code>を手動で実行した後にディレクトリの値を使用します。 | |||
オペレーティングシステムは、IDを使用してファイルの所有権を管理します。ユーザーが新しいIDを使用してファイルにアクセスできるように、ファイルのアクセス許可を手動でリセットする必要があります。 | |||
}} | |||
= smb.confファイルでの<code>Winbindd</code>パラメータの設定 = | |||
Samba Active Directory(AD)ドメインコントローラ(DC)上で<code>Winbindd</code>を実行するには、ほとんどの場合、<code>smb.conf</code>ファイルの設定は必要ありません。 | Samba Active Directory(AD)ドメインコントローラ(DC)上で<code>Winbindd</code>を実行するには、ほとんどの場合、<code>smb.conf</code>ファイルの設定は必要ありません。 | ||
47行目: | 51行目: | ||
* sambaサービスを再起動します。 | * sambaサービスを再起動します。 | ||
{{imbox | |||
| type = speedy | |||
| style = margin: 4px 2%; | |||
| text = Samba AD DCでは、<code>smb.conf(5)</code>のマニュアルページに記載されているすべての<code>Winbindd</code>関連パラメータがサポートされているわけではありません。さらに、<code>idmap config</code>などの一部のパラメータでは、<code>samba</code>サービスが失敗する可能性があります。現在、マニュアルページでは、DCでサポートされているパラメータは強調表示されていません。したがって、デフォルトを維持するか、このセクションで説明するパラメータのみを使用することをお勧めします。 | |||
}} | |||
= Libnss winbindリンク = | |||
{{:Libnss_winbind_リンク}} | |||
= ネームサービススイッチの設定 = | |||
ネームサービススイッチ(NSS)ライブラリを有効にして、ドメインユーザとグループをローカルシステムで使用できるようにするには: | |||
* <code>/etc/nsswitch.conf</code>ファイルの次のデータベースに<code>winbind</code>エントリを追加します。 | |||
passwd: files <u>winbind</u> | |||
group: files <u>winbind</u> | |||
:* 両方のデータベースの最初のソースとして<code>files</code>エントリを保持します。 これにより、NSSはWinbindサービスを照会する前に<code>/etc/passwd</code>および<code>/etc/group</code>ファイルからドメインユーザーとグループを検索できます。 | |||
:* <code>winbind</code>エントリをNSS <code>shadow</code>データベースに追加しないでください。 これにより、<code>wbinfo</code>ユーティリティが失敗する可能性があります。 | |||
:* Sambaをコンパイルした場合、<code>libnss_winbind</code>ライブラリからOSのシステムライブラリパスにシンボリックリンクを追加してください。詳細は、[[Libnss_winbind_リンク|Libnss winbind リンク]]を参照してください。Sambaのインストールにパッケージを使用した場合は、リンクは自動的に作成されます。 | |||
{{ imbox | |||
| style = margin:4px 2%; | |||
| text = ローカルの<code>/etc/passwd</code>ファイルでドメインと同じユーザー名を使用しないでください。 | |||
}} | |||
= winbinddサービス = | |||
Samba Active Directory(AD)ドメインコントローラ(DC)で<code>winbindd</code>サービスを手動で起動しないでください。 このサービスは、<code>samba</code>プロセスのサブプロセスとして自動的に開始されます。 確認するには、次を入力します。 | |||
<pre># ps axf | |||
... | |||
2156 ? Ss 0:00 /usr/local/samba/sbin/samba -D | |||
2158 ? S 0:00 \_ /usr/local/samba/sbin/samba -D | |||
2172 ? R 0:00 \_ /usr/local/samba/sbin/winbindd -D --option=server role check:inhibit=yes --foreground | |||
...</pre> | |||
= Winbindd接続のテスト = | |||
[[Sambaをドメインメンバーとして設定#Winbindへの接続を確認|Winbindへの接続を確認]]を参照。 | |||
= PAMを利用したドメインユーザーの認証 = | |||
[[PAMを使用したドメインユーザーの認証]]を参照。 | |||
---- | |||
[[Category:Active Directory]] |
2019年3月9日 (土) 16:33時点における最新版
はじめに
Winbindd
サービスを使用すると、次のことが可能になります。
chown
やchgrp
などのローカルコマンドでドメインユーザやドメイングループを使用できます。ls
コマンド等で、ドメインユーザやグループを表示できます。
Samba アクティブディレクトリ(AD)ドメインコントローラ(DC)でのWinbindd
の構成は、ドメインメンバの場合とは異なります。ドメインメンバとしてサービスを設定するには、Sambaをドメインメンバとして構成する を参照して下さい。
Winbind と Winbinddサービスとの違い
Samba 4.0と4.1は、samba
コマンドに組み込まれた新しいWinbind
実装を使用していました。 しかし、この実装は正
しく機能しませんでした。 このため、Samba 4.2ではwinbindd
ユーティリティをドメインコントローラ(DC)で使用することがで
きました。 Samba 4.2よりも前のSambaを実行している場合、Winbindd
を使用する前に、サポートされているバージョンに更新してください。 詳細は、「Sambaの更新」を参照してください。
Sambaドメインコントローラ上でのIDマッピング
IDマッピングは、Samba ドメインコントローラ(DC)では、ドメインメンバの場合とは異なる動作をします。例えば、smb.conf
ファイルでad
(rfc2307)やrid
などのIDマッピングバックエンドを構成することはサポートされていないため、samba
サービスが失敗する可能性があります。詳細については「idmap configパラメータがsmb.confファイルで設定されているとドメインコントローラ上の共有にアクセスできない」を参照して下さい
SambaアクティブディレクトリDCでは、Winbindd
は常にユーザID(UID
)およびグループID(GID
)を、ADオブジェクトに設定されたuidNumber
およびgidNumber
属性で設定された値から、読み取ります。UID
またはGID
が割りあてられていないユーザ、及びグループの場合、IDはDC上でローカルに作成され、/usr/local/samba/private/idmap.ldb
に格納されます。
{{#invoke:Message box|imbox}}
smb.confファイルでのWinbindd
パラメータの設定
Samba Active Directory(AD)ドメインコントローラ(DC)上でWinbindd
を実行するには、ほとんどの場合、smb.conf
ファイルの設定は必要ありません。
ユーザーIDとグループIDは、Active Directory(AD)からロードされるか、ローカルで自動的に生成されます。詳細については、「Sambaドメインコントローラ上でのIDマッピング」を参照してください。
Samba DCでは、winbindテンプレートモードのみがサポートされています。このモードでは、すべてのユーザーが以下を取得します。
- 割り当てられたホームディレクトリパス。
template homedir
パラメータで設定します。このパラメータのデフォルト値は/home/%D/%U
です。 - 割り当てられたシェル。
template shell
パラメーターで設定します。このパラメータのデフォルト値は/bin/false
です。
Winbindd
が提供するすべてのドメインユーザーにログオンシェルとして/bin/bash
と、ホームディレクトリパスとし
て /home/%U
を割り当てるには:
smb.conf
ファイルの[global]
セクションに次のパラメータを追加します。
template shell = /bin/bash template homedir = /home/%U
詳細は、smb.conf(5)
のマニュアルページを参照してください。
- sambaサービスを再起動します。
{{#invoke:Message box|imbox}}
Libnss winbindリンク
https://wiki.samba.org/index.php/Libnss_winbind_Links
Sambaを自身でコンパイルした場合、ホストがWinbindを使用して、ドメインから、ユーザーとグループの情報を受け取れるようにするには、オペレーションシステムのライブラリパスのディレクトリに、2つのシンボリックリンクを作成する必要があります。ディストリビューションのパッケージからSambaを使用している場合は、Debianのlibpam-winbind と libnss-winbindのように、通常、これを行うためのディストリビューションのパッケージがあります。
{{#invoke:Message box|imbox}}
プラットフォームの決定
オペレーティングシステムのプラットフォームを確認するには:
# uname -m
libnss_winbind.so.2
ライブラリの場所を探す
libnss_winbind.so.2
は、コンパイル時にSambaのライブラリディレクトリにインストールされています。検索するには:
# smbd -b | grep LIBDIR LIBDIR: /usr/local/samba/lib/
このディレクトリから、オペレーティングシステムのライブラリパスへリンクしてください。
オペレーティングシステム固有の例
Red Hat ベースのオペレーティングシステム
x86_64
# ln -s /usr/local/samba/lib/libnss_winbind.so.2 /lib64/ # ln -s /lib64/libnss_winbind.so.2 /lib64/libnss_winbind.so # ldconfig
i686
# ln -s /usr/local/samba/lib/libnss_winbind.so.2 /lib/ # ln -s /lib/libnss_winbind.so.2 /lib/libnss_winbind.so # ldconfig
Debian ベースのオペレーティングシステム
x86_64
# ln -s /usr/local/samba/lib/libnss_winbind.so.2 /lib/x86_64-linux-gnu/ # ln -s /lib/x86_64-linux-gnu/libnss_winbind.so.2 /lib/x86_64-linux-gnu/libnss_winbind.so # ldconfig
i686
# ln -s /usr/local/samba/lib/libnss_winbind.so.2 /lib/i386-linux-gnu/ # ln -s /lib/i386-linux-gnu/libnss_winbind.so.2 /lib/i386-linux-gnu/libnss_winbind.so # ldconfig
ARM
# ln -s /usr/local/samba/lib/libnss_winbind.so.2 /lib/arm-linux-gnueabihf/ # ln -s /lib/arm-linux-gnueabihf/libnss_winbind.so.2 /lib/arm-linux-gnueabihf/libnss_winbind.so # ldconfig
SUSE ベースのオペレーティングシステム
x86_64
# ln -s /usr/local/samba/lib/libnss_winbind.so.2 /lib64/ # ln -s /lib64/libnss_winbind.so.2 /lib64/libnss_winbind.so # ldconfig
i686
# ln -s /usr/local/samba/lib/libnss_winbind.so.2 /lib/ # ln -s /lib/libnss_winbind.so.2 /lib/libnss_winbind.so # ldconfig
ネームサービススイッチの設定
ネームサービススイッチ(NSS)ライブラリを有効にして、ドメインユーザとグループをローカルシステムで使用できるようにするには:
/etc/nsswitch.conf
ファイルの次のデータベースにwinbind
エントリを追加します。
passwd: files winbind group: files winbind
- 両方のデータベースの最初のソースとして
files
エントリを保持します。 これにより、NSSはWinbindサービスを照会する前に/etc/passwd
および/etc/group
ファイルからドメインユーザーとグループを検索できます。 winbind
エントリをNSSshadow
データベースに追加しないでください。 これにより、wbinfo
ユーティリティが失敗する可能性があります。- Sambaをコンパイルした場合、
libnss_winbind
ライブラリからOSのシステムライブラリパスにシンボリックリンクを追加してください。詳細は、Libnss winbind リンクを参照してください。Sambaのインストールにパッケージを使用した場合は、リンクは自動的に作成されます。
- 両方のデータベースの最初のソースとして
{{#invoke:Message box|imbox}}
winbinddサービス
Samba Active Directory(AD)ドメインコントローラ(DC)でwinbindd
サービスを手動で起動しないでください。 このサービスは、samba
プロセスのサブプロセスとして自動的に開始されます。 確認するには、次を入力します。
# ps axf ... 2156 ? Ss 0:00 /usr/local/samba/sbin/samba -D 2158 ? S 0:00 \_ /usr/local/samba/sbin/samba -D 2172 ? R 0:00 \_ /usr/local/samba/sbin/winbindd -D --option=server role check:inhibit=yes --foreground ...
Winbindd接続のテスト
Winbindへの接続を確認を参照。
PAMを利用したドメインユーザーの認証