Дерево страниц

Вы просматриваете старую версию данной страницы. Смотрите текущую версию.

Сравнить с текущим просмотр истории страницы

Версия 1 Следующий »


NFS (сокращение от Network File System, Сетевая Файловая Системa):
сервис, обеспечивающий общий доступ к файлам и каталогам систем *nix / Linux.

NFS позволяет монтировать удалённые разделяемые файлы подобно локальным.

Существует в двух вариантах:

nfs-server-kernel, работающий на уровне ядра

Установка

Пакет nfs входит в стандартный дистрибутив ОСОН Орёл и ОССН Смоленск, и поддержка пакета встроена в ядра ОС.
По умолчанию пакет nfs не устанавливается.

Установить nfs можно из графического  менеджера пакетов, или из командной строки:

apt install nfs-server-kernel

Настройка

Подготовка

Для развёртывания сервера NFS, как и любого другого сервера, желательно назначить ему постоянный IP-адрес.

Должно быть настроено разрешение имён клиентских компьютеров, или им должны быть назначены статические IP-адреса.

И нужно выделить ресурс, который в дальнейшем станет разделяемым.
Для примера  создадим каталог /nfsshare и выставим для него полный доступ на чтение и запись:

mkdir /nfsshare && chmod 777 /nfsshare

Конфигурация

Основная конфигурация сервиса nfs хранится в файле /etc/exports.

Кроме этого, сервис использует файлы 

etc/fstab - записи обо всех файловых системах, включая nfs, автоматически монтируемых при загрузке системы.

/etc/hosts.allow/etc/hosts.deny - используется, чтобы решить, принять или отклонить подключения, приходящие с внешних IP-адресов

Экспорт разделяемого ресурса

Для экспорта созданного ранее разделяемого ресурса (каталога) /nfsshare
просто добавим в конфигурационный файл /etc/export строку 


/nfsshare 192.168.1.20/255.255.255.0(rw,nohide,all_squash,anonuid=1000,anongid=1000,no_subtree_check)

Где:

  • 192.168.1.20 - статический адрес компьтера-клиента (может быть использовано имя)
  • (rw,no_root_squash,sync) –набор опций, опции могут быть:
    • rw –чтение запись (может принимать значение ro – только чтение)
    • no_root_squash – по умолчанию в общих ресурсах NFS пользователь root становится обычным пользователем nfsnobody.
      Таким образом, владельцем всех файлов, созданных root, становится nfsnobody, что предотвращает загрузку на сервер программ с установленным битом setuid.
      Если указан параметр no_root_squash, удалённые пользователи root могут изменить любой файл в разделяемой файловой системе, и оставить для других пользователей троянские приложения.
      В целях безопасности этот параметр лучше не использовать
    • nohide - NFS автоматически не показывает нелокальные ресурсы (например, примонтированые с помощью mount –bind), эта опция включает отображение таких ресурсов
    • sync – синхронный режим доступа (может принимать обратное значение- async).
      sync указывает, что сервер должен отвечать на запросы только после записи на диск изменений, выполненных этими запросами.
      async указывает серверу не ждать записи информации на диск, что повышает производительность, но понижает надежность, т.к. в случае обрыва соединения или отказа оборудования возможна потеря данных
    • noaccess – запрещает доступ к указанной директории. Может быть полезной, если перед этим вы задали доступ всем пользователям сети к определенной директории, и теперь хотите ограничить доступ в поддиректории лишь некоторым пользователям.
    • FIXME Необходимо добавить описание опций.
    • all_squash– подразумевает, что все подключения будут выполнятся от анонимного пользователя
    • subtree_check (no_subtree_check)- в некоторых случаях приходится экспортировать не весь раздел, а лишь его часть. При этом сервер NFS должен выполнять дополнительную проверку обращений клиентов, чтобы убедиться в том, что они предпринимают попытку доступа лишь к файлам, находящимся в соответствующих подкаталогах. Такой контроль поддерева (subtree checks) несколько замедляет взаимодействие с клиентами, но если отказаться от него, могут возникнуть проблемы с безопасностью системы. Отменить контроль поддерева можно с помощью опции no_subtree_check. Опция subtree_check, включающая такой контроль, предполагается по умолчанию. Контроль поддерева можно не выполнять в том случае, если экспортируемый каталог совпадает с разделом диска;
    • anonuid=1000– привязывает анонимного пользователя к «местному» пользователю;
    • anongid=1000– привязывает анонимного пользователя к группе «местного» пользователя.


 

no_root_squash : By default, any file created by the user root on the client machine is treated as “nobody” on the server. If no_root_squash is set, then root on the client machine will have the same level of access to files, as root on the server.

no_subtree_check : If only part of a volume is exported, a routine called subtree checking verifies that a file that is requested by the client is in the appropriate part of the volume. If the entire volume is exported, disable it with no_subtree_check; this will speed up transfers.

You can get to know all the option on the man page (man exports) or here.

Use the below command to export the shared directories.

exportfs -ra

Verify the exported share using below command.

showmount -e 127.0.0.1

The command showmount -e lists the available shares on your local machine (NFS Server). The out

Output:

Export list for 127.0.0.1:
/nfsshare 192.168.1.20



  • Нет меток