共有資源とは、コンピュータネットワーキングにおいて、別のコンピュータからリモートアクセスすることが可能なコンピュータ上のデバイスや情報の一部のことである。ネットワーク共有とも呼ばれる。一般的にはLANや企業イントラネットを通じて行われ、リモートアクセスされるコンピュータはまるでローカルマシンのように透過的である。

例としては、共有ファイルアクセス(ディスク共有やフォルダ共有として知られる)、共有プリンターアクセス(プリンター共有)、共有スキャナアクセスなどが挙げられる。共有資源はディスク共有(マウントされたディスクとして知られる)、共有ドライブボリューム、共有フォルダ、共有ファイル、共有ドキュメント、共有プリンター、あるいは共有スキャナと呼ばれる。

専門用語としてのファイル共有は、例えばMicrosoft Windowsのドキュメントのように、伝統的には特にオペレーティングシステムとLANとインターネットサービスを背景とした共有ファイルアクセスを意味している。しかしながら、BitTorrentや類似のアプリケーションが2000年代初期に利用可能になったように、専門用語としてのファイル共有はインターネットを介したPeer to Peerファイル共有に関連付けられるようになってきている。

## 共通ファイルシステムおよびプロトコル

共有ファイルやプリンターアクセスには、サーバにある資源へのアクセスをサポートするクライアントのオペレーティングシステム、自身のリソースに対しクライアントからのアクセスをサポートするサーバのオペレーティングシステム、そして(4層または5層のTCP/IP参照モデルにおける)アプリケーション層ファイル共有プロトコルとその共有アクセスを提供するトランスポート層プロトコルが必要となる。

ファイルシステムやプロトコルの例を以下列挙する:

| 主なオペレーティングシステム | アプリケーションプロトコル | トランスポートプロトコル |
| --- | --- | --- |
| Mac OS | Apple Filing Protocol | - TCP, - UDP または - AppleTalk |
| Unix系システム | Network File System (NFS), SMB | - TCP または - UDP |
| MS-DOS, Windows | SMB、CIFSとしても知られる | - TCP, - NBT(UDPを含む), - NBF または - 他のNetBIOSトランスポート |
| NetWare(サーバ) MS-DOS, Windows(クライアント) | - NCP および - SAP | - SPX(IPXを介して)または - TCP |

「主なオペレーティングシステム」は、当のファイル共有プロトコルが最も一般的に利用されているオペレーティングシステムである。

Microsoft Windowsにおいてネットワーク共有は、Windowsネットワークコンポーネント「Microsoft ネットワーク用ファイルとプリンタ共有」により、マイクロソフトのSMB (Server Message Block) プロトコルを利用することで提供されている。他のオペレーティングシステムもそのようなプロトコルを実装している。例えばSambaはUnix系オペレーティングシステムおよびOpenVMSのようなその他のMS-DOSやWindows以外のオペレーティングシステム上で起動するSMBサーバである。SambaはSMBを用いて、Microsoft Windowsを起動しているコンピュータからアクセス可能なネットワーク共有を作成するために利用することができる。代わりのアプローチとしては、共有ディスクファイルシステムがあり、そこでは各コンピュータが共有ディスクドライブ上の「ネイティブな」ファイルシステムへのアクセス権を持っている。

共有資源アクセスは、Web-based Distributed Authoring and Versioning (WebDAV) を用いて実装することもできる。

## 命名規則とマッピング

共有資源へは、たとえばDOSやWindows PCではUniversal Naming Convention (UNC) で提供されているが、何らかの命名規則を通じてクライアントコンピュータからのアクセスを可能としているシステムが多い。UNCではネットワーク共有を以下のように指定する:

サーバコンピュータ名はサーバコンピュータのWINS名、DNS名、またはIPアドレスのいずれかであり、共有名はフォルダやファイル名、またはそのパスである。共有フォルダにはサーバ側のフォルダローカル名とは異なる共有名を与えることもできる。例えば、\\server\c$は通常WindowsマシンのドライブレターC:を伴いドライブを指示する。

共有ドライブやフォルダはしばしクライアントPCコンピュータに「マップ」され、ローカルPCコンピュータのドライブレターに割り当てられることになる。例えばドライブレターH:は、中心となるファイルサーバ上のユーザーホームディレクトリとして典型的に利用される。

## セキュリティ問題

ネットワーク共有は、共有ファイルにアクセスしてはならない人々がその共有ファイルを得るための(しばし不正な方法で)アクセス権を得た場合、セキュリティ障害となる可能性がある。多くのコンピュータワームはネットワーク共有を通じて拡散する。ネットワーク共有は、非ブロードバンドネットワークアクセスにおいてコミュニケーションキャパシティを消費するだろう。そのため、共有プリンタやファイルアクセスは、LANや企業イントラネットの外部にあるコンピュータからはファイアウォールにより通常禁止される。しかしながら、Virtual Private Network (VPN) によって、ローカルネットワークの外側にいる認定されたユーザーが共有資源を安全に利用することが可能となる。

ネットワーク共有は通常、フォルダやファイルを共有にマークすること、またはファイルパーミッションやフォルダのプロパティにおけるアクセス権を変更することで他のユーザーからアクセスできるようになる。例えば、ファイルもしくはフォルダがあるユーザー(所有者)のみ、システム管理者、パブリックなユーザーのあるグループ(すなわち全ログインユーザー)にアクセス可能にすることができる。正確な手続きはプラットフォームにより異なる。

家庭向けやスモールオフィス向けのオペレーティングシステムでは、ローカルコンピュータにユーザーアカウントとパスワードを持つ全てのユーザーがアクセス可能な、特別な共有済フォルダがある。共有済フォルダへのネットワークアクセスを有効にすることができる。Windows XP Home Editionオペレーティングシステムの英語版において共有済フォルダは、通常はパスC:\Documents and Settings\All users\Shared documentsにありShared documentsと名付けられている。Windows VistaおよびWindows 7では、共有済フォルダは、通常はパスC:\Users\Public\Documentsにあり、public documentsとして名付けられている。

## ワークグループトポロジーあるいは集中型サーバ

家庭やスモールオフィスのネットワークでは、非集中アプローチがよく利用され、全ユーザーが全てのローカルフォルダやプリンターを他者に利用可能とさせる。同じコンピュータがサーバとしてもクライアントとしても利用されるため、このアプローチは時々ワークグループやPeer to Peerネットワークトポロジーを示す。

巨大な企業ネットワークでは、時々クライアントサーバモデルとして示される集中型ファイルサーバやプリントサーバが通常利用される。ローカルユーザーコンピュータ上のクライアントプロセスは、通信を開始するための主導権を取り、ファイルサーバやプリントサーバといったリモートコンピュータ上のサーバプロセスは、通信セッションを開始するまで要求を消極的に待つ。

非常に巨大なネットワークでは、ストレージエリアネットワーク (SAN) アプローチが利用される。

ローカルネットワークの外側にあるサーバ上のオンラインストレージは現在ではオプションである。特に家庭向けやスモールオフィス向けはそうである。

## ファイル転送との違い

共有ファイルアクセスを、File Transfer Protocol (FTP)、またはBluetoothやIrDAOBject EXchange (OBCX) プロトコルと混同するべきではない。共有アクセスには、サーバのフォルダが変更される度に行われるフォルダ情報の自動同期が含まれ、サーバ側のファイルを検索する機能を提供するが、ファイル転送は最も根本的なサービスである。

共有ファイルアクセスは通常、ローカルエリアネットワーク (LAN) サービスとしてみなされるが、FTPはインターネットサービスである。

共有ファイルアクセスは、まるでそれがローカルファイルシステムの資源であるかのように、ユーザーに対して透過的であり、マルチユーザー環境をサポートする。これにはリモートファイルの並行性制御や、リモートファイルをユーザーが編集する度にそのファイルをロックすること、およびファイルパーミッションも含まれる。

## 同期との違い

共有ファイルアクセスには含まれるが、ファイル同期や他の情報同期化と混同するべきではない。例えば、インターネットにおける情報同期には、SyncML言語を利用することがある。共有ファイルアクセスはフォルダ情報のサーバ側からのプッシュに基づいており、通常は「常時オン」としたインターネットソケットを通じて利用される。ファイル同期は、ユーザが時々オフラインにすることが許され、通常は再接続で同期化されたマシンを得るエージェントソフトウェアに基づいており、そして違いを発見するために時々ある時間間隔で繰り返す。オフラインアクセスと再接続時の同期を許可するため、現在のオペレーティングシステムにはしばしリモートファイルのローカルキャッシュが含まれる