Network File System — это сетевая файловая система, позволяющая пользователям обращаться к файлам и каталогам, расположенным на удалённых компьютерах, как если бы эти файлы и каталоги были локальными. Главным преимуществом такой системы является то, что отдельно взятые рабочие станции могут использовать меньше собственного дискового пространства, так как совместно используемые данные хранятся на отдельной машине и доступны для других машин в сети. NFS - это клиент-серверное приложение. Т.е. в системе пользователя должен быть установлен NFS-клиент, а на компьютерах, которые предоставляют свое дисковое пространство - NFS-сервер.

Установка и настройка NFS-сервера.

Устанавливаем NFS-сервер:

sudo aptitude install nfs-kernel-server

Настраиваем, какие именно директории мы хотим открыть для совместного пользования и кому. Все это делается в файле /etc/exports:

sudo nano /etc/exports

В приведенном ниже примере я выделил директорию /home/download (директория с данными на сервере) в пользование компьютеру с IP - 192.168.0.3 с правами чтения и записи:

/home/download        192.168.0.3(rw,async,subtree_check)

Опции:
ro - права только на чтение. Можно и не указывать, так как она установлена по умолчанию.
rw - дает клиентам право на запись.
no_root_squash - по умолчанию пользователь root на клиентской машине не будет иметь доступа к разделяемой директории сервера. Этой опцией мы снимаем это ограничение. В целях безопасности этого лучше не делать.
noaccess - запрещает доступ к указанной директории. Может быть полезной, если перед этим вы задали доступ всем пользователям сети к определенной директории, и теперь хотите ограничить доступ в поддиректории лишь некоторым пользователям.
insecure - если планируется подключение компьютера под управлением Mac OS X, эта опция обязательна.

О других опция можно почитать в статье про параметры /etc/expotrs или в мануале:

man exports

Теперь нужно перезапустить nfs-kernel-server:

sudo /etc/init.d/nfs-kernel-server restart

Если после этого вы захотите поменять что-нибудь в файле /etc/exports, то для того, чтобы изменения вступили в силу, достаточно запустить следующую команду:

sudo exportfs -a

В ядере 3.0.хх эта команда вызовет следующее сообщение:

# exportfs -a
exportfs: scandir /etc/exports.d: No such file or directory

Видимо, эта проблема в вскоре будет исправлена. Пока же можем просмотреть доступные ресурсы все той же командой exportfs:

# exportfs
/home/download           <192.168.0.3>

Все. NFS-сервер установлен и настроен. Можно переходить к настройке NFS клиента.

Установка и настройка NFS-клиента.

Настройка для Windows подробно рассмотрена в статье настройка NFS-клиента в Windows.

Вся изложенная ниже информация касается Linux систем.

Установка:

sudo aptitude install nfs-common

Монтирование:
Создаем точку монтирования. Допустим, это будет папка в вашей домашней директории с названием downloads:

cd && mkdir downloads

Монтировать можно двумя способами - каждый раз вручную или прописав опции монтирования в файл /etc/fstab. Мне больше нравится второй способ:

sudo nano /etc/fstab

и в конце дописываем следующую строку:

192.168.0.20:/home/downloads           /home/downloads           nfs            rw,hard,intr,rsize=8192,wsize=8192    0 0

Вместо 192.168.0.20:/home/downloads впишите IP или имя сервера и путь к директории совместного пользования.
Опции монтирования можно изменить.

Записав и сохранив изменения, можно монтировать:

sudo mount -a

и набрав в терминале

df -h

вы увидете смонтированные папки на вашем компьютере.

Network File System (NFS)

— протокол сетевого доступа к файловым системам, первоначально разработан Sun Microsystems в 1984 году. Основан на протоколе вызова удалённых процедур (ONC RPC, Open Network Computing Remote Procedure Call, RFC 1057, RFC 1831). Позволяет подключать (монтировать) удалённые файловые системы через сеть, описан в RFC 1094, RFC 1813, и RFC 3530.

NFS абстрагирована от типов файловых систем как сервера, так и клиента, существует множество реализаций NFS-серверов и клиентов для различных операционных систем и аппаратных архитектур. В настоящее время (2007) используется наиболее зрелая версия NFS v.4 (RFC 3010), поддерживающая различные средства аутентификации (в частности, Kerberos и LIPKEY с использованием протокола RPCSEC_GSS) и списки контроля доступа (как POSIX, так и Windows-типов).