最新技術ばかり目にしていて、こういった内容を全く知らなかったため備忘録程度に、投稿いたします。
CIFSとは
CIFS(Common Internet File System)は、複数のコンピュータ間でファイルやプリンタなどのリソースを共有するための通信プロトコルです。主にWindows環境で利用されており、ネットワーク越しにファイルへアクセスしたり扱ったりするための仕組みを提供します。CIFSはファイルやディレクトリをネットワーク越しに透過的に扱えるため、ユーザーはローカルファイルと同じ感覚で操作することができます。
歴史について
CIFSの起源は1980年代にまで遡ります。当初はMicrosoftが開発したSMB(Server Message Block)プロトコルとして登場し、Windows OS間のファイル共有を可能にしました。その後、1996年頃にSMBを拡張した形でCIFSとして標準化され、より多くの機能やネットワーク環境で利用できるようになりました。その後もSMBプロトコルそのものは進化を続けており、現在ではSMB2/SMB3という新しい規格が主流となっていますが、CIFSという呼称は依然として使われ続けています。
現在使われている場所や技術について
CIFS(および新しいSMBプロトコル)は、Windowsのネットワーク共有(ファイルサーバ)、NAS(Network Attached Storage)、LinuxやMacなど異なるOS間のファイル共有など、様々な場所や技術で利用されています。たとえば会社の共有フォルダやプリンタ、家庭内ネットワークのNAS、クラウドサービス、仮想マシンのストレージマウントなどが挙げられます。Linuxではcifs-utilsを使用することで、CIFSプロトコル経由でWindows共有フォルダをマウント可能です。
使用する際に便利な点
CIFSは次のような便利な特徴があります。
・クロスプラットフォーム
→Windows、Linux、Macといった異なるOS間でファイル共有が可能。
・認証と権限管理
→ユーザー単位でアクセス権限の設定が容易であり、セキュリティも確保されている。
・透過的な操作性
→ローカルファイルと同じように、ファイルの読み書きや更新ができるため、操作が簡単。
・高い互換性
→NAS製品やクラウドストレージなど、多くのストレージデバイスがCIFS/SMB対応。
まとめ
私用PCでファイル共有を試してみましたが、CIFS自体の実装難易度は易しいと感じました。
しかし、認証周りやセキュリティに関してなどをしっかり考慮しないと実際に使用するとなると難しいものがあるのかなと感じました。(社用PCでWSLからcドライブ直下にアクセスするのはややこしく断念しました。)
SMB(2.3)を利用しての試し共有は簡単に行えるので、気になった方は調べてコマンドをうってみてください!