在
计算机领域,共享资源(shared resource)或网络共享(network share)是指使同一个
计算机网络上的其他计算机可使用的某台计算机的计算机资源的行为。换而言之,是使计算机上的一种设备或某些信息可通过另一台计算机以
局域网或
内部网进行远程访问,且过程透明,就像资源位于本地计算机一般。网络共享可能通过网络上的
进程间通信实现。
共享文件和打印机需要客户端的
操作系统支持访问服务器上的资源、服务器上的操作系统支持客户端访问其资源,以及一个
应用层文件共享协议与
传输层协议来支持共享访问。面向个人电脑的现代操作系统包含支持文件共享的
集群文件系统,而手持计算设备有时需要额外软件来支持访问共享文件。
在
Microsoft Windows上,网络共享由Windows网络组件“Microsoft 网络的文件和打印机共享”提供,它采用微软的服务器消息块(SMB)协议。其他操作系统也可能实现该协议,例如
Samba就是这样一个SMB服务器,可运行在
类Unix操作系统以及其他某些非
MS-DOS/非Windows操作系统(如
OpenVMS)。Samba可采用SMB创建其他运行
Microsoft Windows的计算机可访问的网络共享。另一种方法是
集群文件系统,每台计算机都可以访问共享
磁盘驱动器上的“原生”文件系统。
客户端计算机可以通过一些命名约定访问共享,例如
DOS和
Microsoft Windows上采用通用命名约定(UNC)。这表示按下列方式可以解析网络共享:
其中ServerComputerName是服务器计算机的WINS名称、
DNS或
IP地址,而ShareName可能是文件或文件夹的名称或其
路径。
共享文件夹共享文件如果配置与管理不当,就可能成为安全隐患及弱点。许多电脑蠕虫会通过网络共享传播。网络共享可能导致消耗流量计费用户的流量配额。为保证安全,配置
局域网或企业
内部网的
防火墙时一般会禁止外部计算机访问网络。如有需要,本地网络外的认证用户可能通过
虚拟专用网(VPN)方式安全访问共享资源。
在家庭和小型办公室网络中,通常采用
分布式计算方式,其中每个用户都可以将自己的本地文件夹和打印机提供给别人。这种方式有时被称为
工作组或
点对点网络拓扑,因为一台计算机可能同时作为客户端与服务器。
共享文件访问不应该与使用
文件传输协议(FTP)、
蓝牙IRDAOBject EXchange(OBEX)协议的文件传输混淆。访问共享资源涉及到变更服务器上的文件夹时自动同步文件夹信息,并且可能提供服务器端的文件搜索,而文件传输是更基本的服务。
共享文件的访问对用户来说是透明的,就好像它是本地文件系统中的资源一样,并且支持多用户环境。这包括用户编辑远程文件时的
并发控制或
锁,以及
文件系统权限。
共享文件访问牵扯但不同于文件同步及其他信息同步。共享文件访问基于服务器端推送文件夹信息,并且通常使用保持在线的
网络插座。文件同步则允许用户不时离线,并且用户端软件通常采用轮询方式不时重新连接以获知信息、了解差异。现代操作系统通常提供远程文件的缓存以允许脱机访问和重新连接时的同步。