Kenichi Maehashi's Blog

脳内コアダンプ

RSS
Category: Computer
# 日本語の情報でまとまっているところが少なかったのと、
# SID について触れている人があまり居なかったので、今更ですが記事にしてみます。

サーバ環境: CentOS 5.4 (x86_64) + Samba 3.4.3
クライアント環境: Windows 7 Enterprise (32-bit / 64-bit) または Windows Server 2008 R2 Enterprise (どちらも RTM)

クライアント側で以下の通り、レジストリの修正を行う必要があります。
これを行わないと、Windows 7 や Server 2008 R2 クライアントは Samba ドメインに参加できず「指定されたドメインがないか、またはアクセスできません」というエラーが生じます。

以下のコマンドを管理者権限で実行してください:

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\LanmanWorkstation\Parameters" /v DomainCompatibilityMode /t REG_DWORD /d 1 /f
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\LanmanWorkstation\Parameters" /v DNSNameResolutionRequired /t REG_DWORD /d 0 /f

これで、クライアントは Samba ドメインに参加できるようになります。ドメインの参加に成功した後、「このコンピューターのプライマリ ドメイン DNS 名を "" に変更できませんでした」というメッセージが表示されますが、これはドメインの機能に影響しないので無視して大丈夫です。

いつも通りコンピュータを再起動すれば、ドメインユーザはクライアント コンピュータにログオンできるようになります。ログオン中にエラー「このワークステーションとプライマリ ドメインとの信頼関係に失敗しました」が生じる場合は、PDC (および BDC がある場合はその全て) の SID がドメイン SID と一致していることを確認してください。サーバで以下のコマンドを実行すれば、SID を確認できます。
# net getdomainsid
SID for local machine SMBPDC is: S-1-5-21-XXXXXXXXXX-XXXXXXXXXX-123456789
SID for domain SMBDOMAIN is: S-1-5-21-XXXXXXXXXX-XXXXXXXXXX-987654321
SID が local machine と domain で異なる場合は、local machine の SID を domain の SID に一致させます。上の例であれば、次のようなコマンドで実現できます:
# net setlocalsid S-1-5-21-XXXXXXXXXX-XXXXXXXXXX-987654321
これで、二つの SID が同じ値になっていることを確認できます。
# net getdomainsid
SID for local machine SMBPDC is: S-1-5-21-XXXXXXXXXX-XXXXXXXXXX-987654321
SID for domain SMBDOMAIN is: S-1-5-21-XXXXXXXXXX-XXXXXXXXXX-987654321
# Read this article in English.

Comments

Leave Yours...
Name:
E-mail / URL (optional):
Comment:
Are You Robot?: