| 概要 | LinuxにWindows共用フォルダをマウントする. ※ここでいう「Windows共用フォルダ」というのは,SMB (Server Message Block) / CIFS (Common Internet File System) でネットワーク内に公開されているフォルダの意味です.方式がSMB/CIFSであれば,Windowsである必要はなく,LinuxマシンやNASのSambaなどにも適用できます(というか,ぶっちゃけNASのSambaでしか試してないです).  | 
|---|---|
| 検証環境 | 
      マウントする側のLinuxマシン: ubuntu 13.04 x86_64 共有フォルダ提供側: NAS Buffalo LinkStation mini, LS-WSXL2.0/R1 (Samba 3.0.30-1.4.osstech)  | 
$ sudo mount -t cifs //192.168.11.3/share /mnt
ぶっちゃけ これだけ.
ここでは,IPアドレス192.168.11.3で公開されている“share”という共有名のフォルダを,/mntにマウントしている.//192.168.11.3という表現は,Windowsでの“\\192.168.11.3”に相当するコンピューター名を指定するときのCIFS特有の表現.IPアドレスではなくコンピューター名もかけるが,コンピューター名を指定する場合,あらかじめ名前解決をおこなっておく必要があることに注意.
あとはマウントしたファイルを read-only にするとか,権限をどうするかなどの設定をくわえたりするけど,そのあたりはぐぐれ.
おそらく必要になるのは,-o user=hatai,uid=hatai,gid=hataiみたいな感じだ.userが共有フォルダ提供側のアカウント,uidとgidがマウントしたLinux側でのフォルダの所有者と所有グループ.普通にマウントすると所有者がrootになってしまったりして不便なので,適当に変更する必要があるかもしれない.
コンピュータ名(ls1)を参照する方法は名前解決ができない場合,次のようなエラーになる(あらかじめ名前が解決できる方法が与えられている場合は この指定方法でマウントできる).
$ sudo mount -t cifs //ls1/share /mnt mount error: could not resolve address for ls1: Unknown error
smbclientを使う(smbclientでは特に何もしなくてもコンピュータ名が使えるので,ここではコンピュータ名ls1を指定している).
$ smbclient -L ls1
| [1] | CIFS (Common Internet File System) (e-Words) | 
| [2] | Server Message Block (SMB) (Wikipedia) | 
| [3] | 基礎から学ぶWindowsネットワーク: 第20回 ファイル共有プロトコルSMB/CIFS (@IT) | 
| [4] | Samba (official) | 
| [5] | Samba (Wikipedia) |