
NFS と SMB の違い:ファイル共有・マウント方式はどう選ぶべきか
こんにちは、ネットアシスト運用チームのRです。
サーバー運用や社内のファイル共有環境では、「リモート上のファイルシステムを利用したい」という場面がよくあります。例えば、複数の Web サーバーでアップロードファイルを共有したい場合や、バックアップサーバーから別サーバーのディレクトリを参照したい場合、また社内向けに共有フォルダを用意したい場合などです。
このような場面でよく利用される代表的な仕組みが NFS と SMB です。
どちらもネットワーク経由でファイルへアクセスするための仕組みですが、利用される環境や権限管理の考え方、向いている用途には違いがあります。
NFS とは
NFS は Network File System の略で、主に Linux / Unix サーバー間でファイル共有を行うためのネットワークファイルシステム です。
NFS を利用すると、リモートサーバー上のディレクトリをローカルサーバーにマウントし、あたかもローカルディレクトリのように扱うことができます。
例えば、Linux サーバーでは以下のようにリモートディレクトリをマウントできます。
mount -t nfs 192.0.2.10:/data/share /mnt/share
この場合、クライアント側で以下のディレクトリにアクセスすると、
/mnt/share
実際にはリモートサーバー上の以下のディレクトリを参照していることになります。
192.0.2.10:/data/share
NFS は、Linux サーバー間でのディレクトリ共有、Web サーバー間でのアップロードファイル共有、バックアップサーバーからのリモートディレクトリ参照、NAS から Linux サーバーへの共有ストレージ提供などでよく利用されます。
SMB とは
SMB は Server Message Block の略で、ネットワーク上でファイル共有を行うためのプロトコルです。
特に Windows のファイル共有 でよく利用されます。
Windows で共有フォルダにアクセスする際には、以下のようなパスを目にすることがあります。
\\fileserver\share
または、
\\192.0.2.10\share
Linux サーバーでも Samba を利用することで SMB のファイル共有サービスを提供でき、Windows、macOS、Linux クライアントから共有ディレクトリへアクセスできます。
SMB は、社内共有フォルダ、部門別共有フォルダ、Windows ユーザー向けのファイルサーバー、Active Directory アカウントによる権限管理などの場面でよく利用されます。
NFS の権限管理の特徴
NFS は Linux / Unix の権限モデルに近い仕組みです。
主に以下の情報をもとにアクセス制御を行います。
- UID / GID(ユーザーID / グループID)
- ファイルの所有者・所有グループ・権限(パーミッション)
- NFSのエクスポート設定(クライアントのIPアドレス制限など)
例えば、サーバー側のファイル所有者が以下のようになっている場合、
user01:group01
クライアント側でも同じユーザーやグループとして正しく認識させるためには、UID / GID をできるだけ一致させる必要があります。
そのため、NFS はサーバー間でのファイル共有に適しています。
一方で、複数サーバー間で UID / GID が揃っていない場合、ファイル所有者の表示が想定と異なったり、権限が意図した通りに動作しない場合があります。
SMB の権限管理の特徴
SMB は Windows の権限モデルに近い仕組みです。
主に以下のような方法でアクセス制御を行います。
- ユーザー名/パスワード
- ユーザーグループ
- Windows ACL
- Active Directory
- 共有権限
- ファイルシステム権限
SMB では、ユーザーやグループごとに比較的細かく権限を設定できます。
そのため、SMB はオフィス内のファイル共有や複数ユーザーでの利用、Active Directory と連携したアカウント管理が必要な環境に向いています。
選択時のポイント
NFS と SMB のどちらを選ぶべきかは、主に「誰が使うのか」「どのような目的で使うのか」によって決まります。
主に Linuxサーバー同士でディレクトリを共有する場合は、NFS が適しています。NFS はサーバー間のマウントやデータ共有に向いており、Linux / Unix 系システムとの親和性が高い点が特徴です。
一方で、主にWindows ユーザーや社内利用者向けに共有フォルダを提供する場合は、SMB が適しています。SMB はユーザー向けのファイル共有に向いており、特に Windows クライアントが多い環境や、AD ドメインによる権限管理を行う環境で利用しやすい方式です。
| 項目 | NFS (Network File System) | SMB (Server Message Block) |
| 主な対象 | Linux / Unix サーバー | Windows、macOS、Linux |
| 認証・権限 | UID / GID、Linux ファイル権限、IP 制限 | ユーザー名、パスワード、ユーザーグループ、ACL、AD |
| 主な用途 | Web サーバー間の共有ディレクトリ、バックアップ、サーバー間マウント | 社内共有フォルダ、部門別フォルダ、ユーザー向けファイル共有 |
| 特徴 | Linux環境での動作が比較的軽量・高速 | アカウントごとの細かい権限管理が得意 |
まとめ
NFS と SMB は、どちらもネットワーク越しにファイルを共有するための仕組みですが、設計思想や得意な用途が異なります。
NFS は、Linux / Unix サーバー間でのファイル共有やディレクトリ共有に適しています。
Web サーバー間の共有ディレクトリ、バックアップサーバーからの参照、アプリケーションサーバー間のデータ共有などでよく利用されます。
SMB は、ユーザー向けのファイル共有に適しています。
Windows の共有フォルダ、社内共有フォルダ、部門別ディレクトリ、Active Directory による権限管理などでよく利用されます。
実際に選択する際は、プロトコルだけで判断するのではなく、以下の観点を含めて総合的に検討することが重要です。
- 利用するクライアントの種類
- 権限管理の方法
- 利用目的
- セキュリティ要件
- 運用コスト
サーバー間でデータを共有する場合は NFS、オフィスユーザー向けに共有フォルダを提供する場合は SMB を選択する、という考え方が基本になります。
それでは、また。





