よくある質問・用語集

  • もっと調べる
  • どうやって使う?

CIFSとは

CIFSとは、Common Internet File Systemの略で、Windowsのファイル共有の仕組みであるSMB(the Server Message Block)をWindows以外でも利用できるようにしたものである。

SMBとCIFS

SMBには、SMB1.X, CIFS 1.0, SMB2.X, SMB3.Xなどのバージョンがある。CIFS/1.0は、Windows 98までのバージョンで使われていたSMB1.Xの後継プロトコルである。Microsoftは、1997年にWindows以外のプラットフォームでもWindowsファイル共有サービスが利用できるようにSMBを拡張し、CIFS/1.0を公表した。それは、「A Common Internet File System(CIFS/1.0)Protocol」というインターネットドラフトとして公開された。しかし、標準仕様(RFC)とはなっていない。

SMB1.Xは、NetBIOS(Network Basic Input Output System)インターフェースと呼ばれるTCP/IPとは異なるトランスポートを利用していた。しかし、CIFS/1.0ではNetBIOS over TCP/IPが採用され、通常のTCP/IPネットワーク上でファイル共有を行うことができるようになった。CIFS/1.0は、Windows 2000では標準となったが、Windows Vista以降は標準でSMB 2.Xが使われるようになっている。ただし、Windows Vista以降のWindowsでもCIFS/1.0のプロトコルは利用することができ、相互接続性は残っている。

CIFSとSamba

CIFSを使ってWindowsファイル共有を実現するソフトウェアとしてはSambaが知られている。Sambaは、LinuxなどのUnix系OS上で、Windowsファイル共有を実現する。Sambaでは、サーバ機能もクライアント機能も提供している。

Sambaのサーバ機能は、smbdとして実装されている。smbdは、CIFSとActive Directoryサービスを提供する。また、Sambaには、NetBIOSプロトコルで名前解決を行うことができるnmbdも含まれている。

CIFS利用時の注意点

Sambaのクライアント機能では、CIFSを利用してWindowsファイルサーバをマウントすることができる。ただし、その場合には注意が必要である。CIFSは、Linuxなどでよく使われるファイル共有のためのファイルシステムであるNFSとは、大きく概念の異なるファイルシステムである。特に、Windowsファイル共有を使ってファイルサーバをマウントする場合には、ユーザ認証が必要である。そのため、マウントされたファイルシステムでは、特定のユーザがアクセスしているものとして振る舞うこととなる。したがって、複数のLinuxユーザで、このファイルシステムを共有することは好ましくない。

このように、CIFSはPOSIXで定義されているファイルシステムのすべての機能が実装されているわけではない。そのため、サーバなどをCIFS上で動作させると、行うことができない処理が発生して問題を引き起こすことがある。

最近のLinuxでは、GNOMEデスクトップなどからWindowsファイル共有を簡単に行うことができる。この場合には、ログインしたユーザが指定した認証方法でWindowsファイルシステムをマウントして利用するようになっている。このように、デスクトップなどからドキュメントファイルなどを共有する用途で利用するためのプロトコルとして利用すべきである。

LinuxでWindowsファイル共有サーバを作るメリット

Linuxで、CIFSを使ってWindowsファイル共有のサーバを構築することには、いくつかのメリットがある。一つは、Windows Serverでは必要となるCALが必要ないことである。もう一つは、Linuxのクラスタの仕組みを利用して、ファイルサーバを冗長化することができることである。

デージーネットでは、SambaとPacemakerやDRBDなどのOSSクラスタソフトウェアを組み合わせて、ファイルサーバを冗長化したシステムの構築を行っている。

CIFS上のファイルの検索

最近では、Windowsファイルサーバの利用が定着し、ファイルサーバ上に大量のファイルが保存されるようになっている。そのため、大量のファイルの中から、目的のファイルを見つけることが難しくなってきている。そのため、CIFSを利用してファイルサーバの全文検索を行うシステムが注目されている。全文検索システムは、あらかじめファイルの内容を精査し、事前に用語のインデックスを作っておくことで、高速にファイル検索が行えるようにする仕組みである。検索は、Googleなどインターネットの検索エンジンでの検索と同じような感覚で行うことができる。最近では、ビックデータ解析の技術を活用して、大量のドキュメントでも高速に検索できる全文検索の技術が開発されている。

CIFSとオンラインストレージ

以前は、企業内のネットワークに参加する端末のほとんどがWindowsであった、そのためファイルサーバではCIFSをはじめとしたWindowsファイル共有の仕組みを利用するのが一般的であった。しかし、近年は携帯電話やタブレットなどもネットワークにつながるようになってきた。携帯電話やタブレットでは、CIFSではなく、DropboxやGoogle Driveのようなオンラインストレージを利用することが多くなっている。そのため、CIFSによるファイルサーバをではなく、オンラインストレージを導入する組織も増えてきている。オンラインストレージでもPC用のデスクトップアプリケーションを提供しているため、CIFSと同様にWindows Explorerと統合した利用もできる。また、ownCloudなどのOSSのオンラインストレージのソフトウェアにより、組織専用のオンラインストレージを構築する事例も増えている。

CIFSとオンラインストレージの違い

CIFSをはじめとするWindowsファイル共有とオンラインストレージには大きな違いがある。CIFSをはじめとするWindowsファイル共有では、ファイルへのアクセス権や共有はシステム管理者が制御する。一方、オンラインストレージでも、システム管理者がファイルの共有を制御することはできる。しかし、オンラインストレージでは各ユーザの自由度がより大きい。ユーザは、URLリンクを使ってファイルを共有したり、共有フォルダーを作って自由にグループ共有したりすることができる。これはCIFSでは実現できない機能であり、CIFSのセキュリティ思想とは大きく異なる。こうしたことから、CIFSをはじめとするWindowsファイル共有ととオンラインストレージは用途によって使い分ける必要がある。

【カテゴリ】:情報共有  ファイルシステム  Linux関連技術  

  • もっと調べる
  • どうやって使う?

【Webセミナー】OSSでリモートデスクトップ環境を構築!セキュリティに配慮したリモートデスクトップ活用例紹介セミナー

日程: 4月12日(金)Webセミナー「BigBlueButton」を使用します。
内容: このセミナーでは、OSSで実現するリモートデスクトップ環境について紹介します。
ご興味のあるかたはぜひご参加ください。

セミナー申込

関連用語

CIFSに関連するページ(事例など)

CIFSとは先頭へ