Windows 7をSambaにつなぐ

迷走の末に


発端
2009年9月25日
 Windows 7はそのままではSambaに接続できないことは、実際自分で接続しようとして分かったしネットにもさまざまな情報があった。

レジストリに下記の修正を加えるもの

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Netlogon\Parameters
RequireSignOrSeal = 0
RequireStrongKey = 0

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanManWorkstation\Parameters
DWORD(32bit)形式 DNSNameResolutionRequired = 0
DWORD(32bit)形式 DomainCompatibilityMode = 1

secpol.mscを使ってセキュリティーポリシーを変更するもの

Windows 7 RC ビルド7100をsamba 3.3.4のサーバーに接続しようとしたがいずれの方法もダメだった。

Sourceからコンパイルする
2009年9月26日
このままではらちがあかないので、さらに詳しく検索した。
ソースにパッチを当てる記事を見つけた。
本家でこのような情報が流れているところをみると、最新のソースコードはすでに改良されているかもしれないと思いsamba_3.4.1を頂いてくる。
WHATSNEW.txtを見てみると
* BUG 6680: Fix authentication failure from Windows 7 when domain joined.
と書かれている。

早速使ってみようと思うがサーバーはDebianでaptitudeで管理している。
source3/configureのヘルプによれば、デフォルトでは/usr/local/sambaにインストールされると書かれている。これなら干渉しないのでaptitudeはそのままにして/usr/local/sambaにコンパイルしたものをインストールすることにした。

cd /usr/local/src
wget ftp://ftp.samba.gr.jp/pub/samba/samba-3.4.1.tar.gz
tar zxvf samba-3.4.1.tar.gz
cd samba-3.4.1
cd source3
./configure
make
make install

設定ファイルをコピーする。
cp /etc/samba/smb.conf /usr/local/samba/lib

cd /etc/init.d
起動停止スクリプトsambaはリンクの通り修正した。
rootの.bashrcにsambaのバスを通しておく
export PATH=/usr/local/samba/sbin:/usr/local/samba/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/bin/X11:/usr/local/sbin:/usr/local/bin

結果
2009年9月26日
今のところ良好に動作している。2009年10月22日のWindows 7発売にSambaのバイナリパッケージに配布は間に合うだろうか。