気まぐれSE日記

地方でエンジニアしてます

Windows 2003 Server でドメインことローラになってる場合、Linux等でsmbmountできない件 (解決)

前にも書いたけど、
Windows 2003 ServerがDCになっている場合にsmbmountができない件
http://d.hatena.ne.jp/tak_yah/20061116#1163654276


なのですが、SMB署名がどうとかいう仕様smbmount/smbfs⇒CIFSを
使ってくださいという結論になってましたが
先日実験できた機会があったのでやってみました。


CIFSのいんすとる

私が実験したのは、Vine Linux 3.xカーネルが2.4.33-0vl0.9の場合です。
CIFSはカーネルのFSモジュールの一つなので、カーネルのソースが必要になります。
あらかじめ用意しておくこと。

Vine以外のディストリビューションではCIFSが標準で入ってるのかもしれません。
未確認ですが。

1.CIFSのソースをダウンロードする

↓ここから、「including a 2.4 kernel port」の横のリンクにあるファイル(cifs-1.20c-2.4.tar.gz)をダウンロードする。
http://linux-cifs.samba.org/cifs/cifs_download.html

2.CIFSカーネルモジュールを作成

とりあえず、tar.gzを解凍したら、カレントディレクトリに linux ディレクトリが出てくるので
linuxディレクトリの中身をそのまま、カーネルのソースディレクトリ(/usr/src/linuxなど)にコピーさせる。


tar xfz cifs-1.20c-2.4.tar.gz
cp -r linux/* /usr/src/linux/.


移動したら、カレントディレクトリを/usr/src/linux等にして
CIFSを有効にさせるためのパッチを実行する


cd /usr/src/linux
patch -p1 < cifs_24.patch

あとは、カーネルのコンフィグを make menuconfig 等で行って、


File Systems⇒Network File Systems⇒CIFS Support (advanced network filesystem for Samba, Window and other CIFS compliant servers)
⇒M とする


モジュールをコンパイルする。


make modules

CIFSモジュールを組み込む

とりあえず、コンパイルが終わったら、 モジュールを正規の場所にコピーしてやってください。
他のモジュールは関係ないので放置しておく。


mkdir /lib/modules/2.4.33-0vl0.9/kernel/fs/cifs
cp fs/cifs/cifs.o /lib/modules/2.4.33-0vl0.9/kernel/fs/cifs/.
depmod -ae

depmodは必要ないかも?

CIFSマウントコマンドをダウンロードする

CIFSをマウントさせるコマンドがないので、これをダウンロードする


wget http://pserver.samba.org/samba/ftp/cifs-cvs/mount.cifs
chmod 755 mount.cifs
mv mount.cifs /sbin/.

CIFSでマウントしてみる


mount -t cifs -o username=administrator,password=xxxxxxx //サーバ名/共有名 /マウント先

でマウントされればおけです。