3流プログラマのメモ書き

元開発職→社内SE→派遣で営業支援→開発戻り浦島太郎状態の三流プログラマのIT技術メモ書き。 このメモが忘れっぽい自分とググってきた技術者の役に立ってくれれば幸いです。

(Linux)CentOSからWindows共有をマウントする方法

現在下記のようなサーバを構築してます。

CentOSサーバ Windowsサーバ

FTP-->Win共有フォルダマウントポイント------>Windowsファイル共有してるフォルダ

要はFTPを経由してLAN内のファイルサーバとして使ってるWindowsマシンの共有フォルダを見たいわけです。

ちなみにFW使ってる場合はポートの445の解放が必要です。

ここを見るとsmbmount コマンドでできるとあったのですが、そんなコマンドはないと怒られます。どうやらCentOS5にはこのコマンドはなくなったようです。

@ITネットワークストレージを使うにはを見ると 

#mount -t smbfs -o username=ユーザーID,password=パスワード //landisk/Project /mnt/nas

でいけるとあったのですが、smbfsなんてファイルシステム知らないと怒られます。

結局、こちらこちらを参考させてもらいました。

# mount -t cifs -o username=share //192.168.0.111/svtest /var/winsvtest

ファイルシステムの指定に "cifs" を使うのが肝のようです。

アンマウントは

# umount /var/winsvtest/

というように普通のマウントポイント解除と同じです。

アンマウント時に Device or resource busy とでた場合はこちらによると、

# umount -l /var/winsvtest/

でできるみたいです。

あと、起動時にもマウントするように /etc/fstab に書いてみました。

"//192.168.0.100/test test" /var/data/winsv cifs username=share,password=****,r,fmask=0222,dmask=0222 0 0

結果、ダメでした。

やっぱりパスに空白入ってるのがまずいのでしょうか。。。

謎です。

追記1(2008/08/18):

補足です。

/etc/fstab にマウント設定するときですが、空白を含まないパスにすれば問題なく運用できます。

例:

//192.168.0.111/svtest /var/winsvtest

cifs username=share,password=****,rw,fmask=0555,dmask=0555 0 0

追記2(2009/01/04):

上記の設定でfstabファイルにマウントを定義していたのですが、OSの起動中に下記のようなメッセージがでてることに最近気づきました。

WARNING: CIFS mount option 'fmask' is deprecated. Use 'file_mode' instead.

WARNING: CIFS mount option 'dmask' is deprecated. Use 'dir_mode' instead.

どうやら、"fmask"や"dmask"というオプションが古いようです。

それに変わるオプションが "file_mode" , "dir_mode" というわけですね。

というわけでこう書き直しました。

//192.168.0.111/svtest /var/winsvtest cifs username=share,password=****,rw,file_mode=0555,dir_mode=0555 0 0

参考:mountコマンドでCIFSをファイル共有