• all_squash
и no_all_squash
. В обычных условиях обращения от пользователей принимаются, но иногда приходится запрещать доступ к экспортируемым каталогам, содержащим важные данные. Сделать это можно с помощью опции all_squash
. Опция no_all_squash
отменяет действие all_squash
.
• anonuid
и anongid
. Анонимным пользователем, обращения которого отвергаются, обычно считается пользователь nobody
. Вы можете переопределить такую установку, указав идентификатор пользователя (UID) и идентификатор группы (GID). Сделать это позволяют соответственно опции anonuid
и anongid
. В этом случае пользователю root
, работающему на удаленном клиенте, будет предоставлен доступ с привилегиями указанного пользователя. Эти опции также приходится указывать при работе с клиентами PC/NFS, которые поддерживают лишь одного локального пользователя. Такая опция должна сопровождаться знаком равенства и идентификатором пользователя или группы, например
Пример файла /etc/exports
показан в листинге 8.1. В этом файле описаны два экспортируемых каталога: /usr/X11R6
и /home
. Кроме того, в нем содержится третья запись, запрещающая с помощью опции noaccess
обращения к каталогу /home/abrown
. (Поскольку последняя запись лишь ограничивает доступ, в ней не указан конкретный узел; обращаться в данному каталогу не может ни один клиент.) Каталоги /usr/X11R6
и /home
доступны для компьютера gingko
и всех узлов сети 192.168.4.0/24, однако при экспортировании этих каталогов заданы различные опции. Каталог /usr/X11R6
доступен только для чтения, а в каталог /hom
e клиенты имеют также право записывать данные. На компьютере gingko
для доступа к /usr/X11R6
задан идентификатор анонимного пользователя, равный 514, а при обмене с каталогом /home
не выполняется контроль поддерева.
Листинг 8.1. Пример файла /etc/exports
/usr/X11R6 gingko(ro,anonuid=504) 192.168.4.0/24(ro)
/home gingko(rw,no_subtree_check) 192.168.4.0/255.255.255.0(rw)
/home/abrown (noaccess)
Монтирование экспортируемых каталогов
На стороне клиента экспортируемые каталоги выглядят как разделы диска. Для их монтирования используется команда mount
, но при ее вызове указываются сервер NFS и монтируемый каталог. Эти данные задаются в формате сервер : путь_к_монтируемому_каталогу
. Так, например, следующая команда монтирует экспортируемый каталог /home
в точке файловой системы /mnt/userfiles
:
# mount larch:/home /mnt/userfiles
Если вы хотите, чтобы экспортируемый каталог был постоянно доступен, вам надо создать запись в файле /etc/fstab
. Как и при использовании команды mount
, вместо имени устройства вы указываете имя сервера и путь к экспортируемому каталогу. Тип файловой системы задается как nfs
(при желании вы можете задать соответствующую опцию и при вызове mount
, но это не обязательно, поскольку Linux автоматически распознает тип файловой системы). Приведенная ниже запись в файле /etc/fstab
выполняет те же действия, что и рассмотренный ранее вызов утилиты mount
.
larch:/home /mnt/userfiles nfs defaults 0 0
В результате пользователь, обращаясь к каталогу /mnt/userfiles
, на самом деле увидит содержимое каталога /home
на узле larch
. С содержимым смонтированного каталога NFS можно выполнять большинство операций, допустимых для локального раздела Linux. Например, вы можете читать, редактировать и удалять файлы, а также выполнять прочие действия. Существуют также операции, которые недопустимы для экспортируемых каталогов, например, вы не можете объявлять раздел NFS как файл подкачки. В большинстве случаев эффективность работы с экспортируемыми каталогами NFS ниже, чем с разделами локального диска, так как обмен по сети осуществляется значительно медленнее, чем обмен с современными жесткими дисками. Однако в отдельных случаях, например при использовании гигабитовой Ethernet-сети, производительность NFS-обмена может даже превышать производительность работы с локальными устройствами, особенно если на клиентской машине используются устаревшие диски. На производительность системы NFS существенное влияние оказывают также быстродействие диска сервера и число клиентов.
Экспортируя каталоги и содержащиеся в них файлы, сервер NFS экспортирует также права доступа к ним. Информацию о пользователях и правах можно применять для контроля обращений к файлам и каталогам. Эти средства можно использовать даже для управления доступом со многих компьютеров, например, в случае, если один сервер NFS обслуживает несколько клиентов. Однако при этом может возникнуть проблема, которая состоит в следующем. Для идентификации пользователей в системе NFS применяются UID и GID. Если такие идентификаторы не совпадают на клиентах и на сервере, это может угрожать безопасности системы. Способы разрешения данной проблемы будут рассмотрены ниже в этой главе.
Читать дальше