概要

linuxでwindowsの共有フォルダをマウントするためには、cifs(samba)を利用します。 cifsはWindows共有(samba)とほぼ同義です。

samba 1.0を規格化したものが、cifsになります。 (samba2.0以降は厳密にはcifsではないですが、vers指定することでsambaの利用が可能です。)

対象パッケージのインストール:

# Cent OS
yum install cifs-utils

# Gentoo
emerge cifs-utils

# Arch Linux
pacman -S cifs-utils

 

マウント方法:

mount -t cifs //共有フォルダのホスト名/フォルダ名 ローカルマシンのフォルダ

例:

mount -t cifs //192.168.0.1/share /mnt/share

※事前にフォルダが存在する必要があります。   

ユーザ名の設定方法

上記方法ではローカルマシンのログインユーザで共有フォルダへログインを行います。 独自にユーザ名を指定したい場合は以下のコマンドを利用します。

mount -t cifs -o ユーザ名 //共有フォルダのホスト名/フォルダ名 ローカルマシンのフォルダ

例:

mount -t cifs -o yamada //192.168.0.1/share /mnt/share

 

エラー時の対処:

現象:
CIFS VFS: cifs_mount failed w/return code = -112
原因:

sambaのバージョンが古い

対策:
mount -t cifs -o vers=バージョン //共有フォルダのホスト名/フォルダ名 ローカルマシンのフォルダ

例:

mount -t cifs -o vers=3.0 //192.168.0.1/share /mnt/share

※デフォルトでは、vers=1.0で接続されるため、何らかのバージョンを指定したほうがよい。

バージョン対応表:

vers 対応Windows
1.0 Windows XP, Windows Vista, Windows 7, Windows 8, Windows 10
2.0 Windows Vista, Windows 7,Windows 8, Windows 10
2.1 Windows 7, Windows 8, Windows 10
3.0 Windows 8, Windows 10
3.1.1 Windows 10
現象:
mount error 13 = Permission denied
原因:

認証方法のバージョンが古い。もしくはドメインの指定がされていない。

対策:
# 認証方法のバージョンが古い場合:
mount -t cifs -o sec=認証方式 //共有フォルダのホスト名/フォルダ名 ローカルマシンのフォルダ
# ドメインの指定がされていない場合:
mount -t cifs -o domain=ドメイン名 //共有フォルダのホスト名/フォルダ名 ローカルマシンのフォルダ

例:

# 認証方法のバージョンが古い場合:
mount -t cifs -o sec=ntlm //192.168.0.1/share /mnt/share
# ドメインの指定がされていない場合:
mount -t cifs -o domain=MYDOMAIN //192.168.0.1/share /mnt/share

※認証方法のバージョンが古い場合は、sec=ntlmを指定することで接続できることが多い。

バージョン対応表:

sec
none
krb5
krb5i
ntlm
ntlmi
ntlmv2
ntlmv2i
ntlmssp
ntlmsspi

 

補足

複数のオプションを以下の形で利用する

mount -t cifs -o sec=ntlm,vers=3.0 //192.168.0.1/share /mnt/share

参考URL:

sambaクライアントでWindowsをマウントできない。mount error(13) Permission denied

mount.cifs

mounting a CIFS filesystem directly or via fstab

cifsによるNASの自動マウント

Windows上のファイルにLinuxからアクセスするには(mount.cifs編)