samba-client/cifs-utilsを使ってWindowsの共有フォルダをマウントする

samba-client/cifs-utilsを使ってWindowsの共有フォルダをマウントする

環境

環境 概要
1 IP 192.168.33.10
2 Vagrant 2.0.3
3 Oracle VM VirtualBox 5.2.8
4 CentOS 6.9

Windowsに共有フォルダを作成する

Sambaを使ってWindowsの共有フォルダをマウントし、CentOS環境とWindows環境でファイルを共有する場合でも、
特にWindowsの共有フォルダ作成は、通常と変わりありません。

気を付ける点としては、

  • 共有フォルダへのアクセス権設定用のWindowsアカウントを個別に作成する。
  • 対象Windowsアカウントに共有フォルダへのアクセス権を設定する。
  • 詳細な共有の設定により、対象Windowsアカウントに対して必要に応じてフルコントロールを与える。
  • Windows標準のファイアウォールの設定で、
    セキュリティが強化されたWindowsDefenderファイアウォール>受信の規則>ファイルとプリンターの共有(SMB受信)
    の規則が有効化されていること。
    ※別のウィルス対策ソフトによってファイアウォールの設定がされている場合、samba-clientを使ってマウントする際に利用されるポート(標準:445)を開放するような設定が必要。

samba-client,cifs-utilsのインストール

yum install -y samba-client cifs-utils

CentOS側にWindowsの共有フォルダをマウントした際の共有用のディレクトリを作成する

mkdir /usr/local/src/share

mountコマンドを実行してWindowsの共有フォルダをマウント

ここでは以下の条件に対しマウントする

  • Windows側環境
    • 共有フォルダは「//192.168.0.95/share」
    • アクセス許可をしているアカウント「share / sharepass」
  • CentOS側環境
    • マウントする際のCentOS側のディレクトリ「/usr/local/src/share」
mount.cifs -o "username=share,password=sharepass" //192.168.0.95/share /usr/local/src/share

このコマンドの実行の結果、特にコンソールへ何も表示されなければマウント完了です。
※Windows7環境の共有フォルダで検証した際は、上記手順で問題なくマウントできましたが、
 Windows10環境の共有フォルダで検証すると、上記手順では正常にマウントできず、以下のエラーが発生しました。

mount error(112): Host is down
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)

後続の Windows10環境へのマウントがうまくいかない件 を参照

マウントできているか確認

mount コマンドを実行することで、マウントの情報が確認できます。

mount
~~(省略)~~
//192.168.0.95/share on /usr/local/src/share type cifs (rw)

CentOS側を再起動したあともマウントされるように/etc/fstabを修正

vim /etc/fstab

/etc/fstabの最終行に以下の行を追加する。

//192.168.0.95/share /usr/local/src/share cifs username=share,password=sharepass 0 2

この状態であれば、CentOS側を再起動してもファイル共有はされた状態となる。

Windows10環境へのマウントがうまくいかない件

CentOS6.9環境でyum installした状態でmount.cifsのバージョンを確認すると以下の状態だった。

mount.cifs -V
mount.cifs version: 4.8.1

では、CentOS7.4環境ではどうなるか検証してみた。

mount.cifs -V
mount.cifs version: 6.2

だいぶバージョンが違うので、もしかしてと思い、Windows10環境へのマウントを試みたところ、正常にマウントできた。
ちなみに、マウントした時のコマンドは以下の通り。

mount.cifs -o "username=share,password=sharepass,vers=2.0" //192.168.0.170/share /usr/local/src/share

注意点として、他のサイトでも紹介されていた通り、「vers=2.0」というオプションを付けないと、正常にマウントできないようです。
ちなみに「vers=3.0」というオプションにして実行してみたところ、これも正常にマウントできました。

なので、結論として、CentOS6.9の標準リポジトリを利用してyumでセットアップしたsamba-client及びcifs-utilsを利用すると、Windows10環境の共有フォルダはマウントできないということらしいです。

Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.