Файл экспорта
В то время как вышеупомянутые опции обращаются к NFS конфигурации клиента, имеется различное множество опций на стороне сервера при выборе конфигурации per-client. Эти опции должны быть установлены в файле /etc/exports. По умолчанию, mountd не позволяет кому угодно устанавливать каталоги из локального хоста, что является довольно разумной позицией. Для того, чтобы разрешить одному или большему количеству хостов установить nfs каталог, он должен быть экспортирован, то есть определен в файле экспорта. Типовой файл может выглядеть следующим образом:
# exports file for vlager
/home vale(rw) vstout(rw) vlight(rw)
/usr/X386 vale(ro) vstout(ro) vlight(ro)
/usr/TeX vale(ro) vstout(ro) vlight(ro)
/ vale(rw,no root squash)
/home/ftp (ro)
Каждая линия определяет каталог и хост, которому разрешено его устанавливать. Имя хоста - обычно полностью квалифицированное название области, но может содержать * и ? универсальные символы. Например, lab*.foo.com соответствует lab01.foo.com также как и laber.foo.com. Если имя хоста не указано, как с каталогом /home/ftp в примере выше, то любому хосту разрешено установить этот каталог.
При проверке клиентского хоста против файла экспорта, mountd будет искать hostname клиента используя gethostbyaddr(2) вызов. С DNS, этот вызов возвращает каноническое hostname клиента, так что вы должны удостовериться, что не используются псевдонимы в экспорте. Без использования DNS, возвращенное имя - первое имя хоста, найденное в файле хоста, которое соответствует адресу клиента.
Имя хоста сопровождается произвольным, отделенным запятой, списком флагов, приложенных в скобках. Эти флаги могут принимать следующие значения:
- insecure - разрешает не-опознанный доступ из этой машины.
- unix-rpc - требует unix-области RPC установление подлинности из этой машины. Оно требует, чтобы все запросы происходили из зарезервированного internet порта.
- secure-rpc - требует secure RPC установления подлинности от этой машины. Это пока еще не осуществлено. См. документацию Sun's по Secure RPC.
- kerberos - требует Kerberos установления подлинности на доступ из этой машины. Это тоже пока еще не осуществлено. См. документацию MIT по Kerberos опознавательной системе.
- root squash - особенность защиты, которая отвергает права суперпользователя на установленных хостах. Отображает запросы с uid 0 на клиенте к uid 65534 на сервере.
- no root squash - не преобразует запросы с uid 0. Эта опция включена по умолчанию.
- ro - устанавливает значение read-only на файловую систему. Эта опция включена по умолчанию.
- rw - устанавливает значение read-write на файловую систему.
- link relative - преобразует абсолютные символьные связи в относительные. Эта опция имеет смысл только тогда, когда целая файловая система хоста установлена. Эта опция определена по умолчанию.
- link absolute - оставляет все символьные связи какими они были.
- map identity - опция сообщает серверу, что клиент использует те же uid's и gid's, что и сервер. Эта опция определена по умолчанию.
- map daemon - опция сообщает NFS серверу принять, что клиент и сервер не разделяют то же uid/gid пространство. nfsd затем создает список идентичности отбора между клиентом и сервером, запрашивая ugidd клиента.
Ошибка, анализирующая файл экспорта, сообщает daemon syslogd's оборудованию каждый раз, когда nfsd или mountd запускаются.
Заметьте, что имена хостов получены из IP-адреса клиента обратным отбором, поэтому вы должны иметь правильно сконфигурированное решающее устройство. Если вы используете BIND и очень обеспокоены безопасностью, вы должны включить проверку spoof в вашем файле host.conf.
Linux Automounter
Иногда это расточительно устанавливать все NFS-значения пользователей, к которым они возможно захотят обратиться: либо из-за большого числа значений, которые должны быть установлены, либо из-за времени, которое потребовалось бы при запуске. Жизнеспособный вариант для этого – так называемый automounter. Это демон, который автоматически устанавливает любое NFS-значение по мере необходимости и освобождает его, если оно не использовалось в течение некоторого времени. Одна из преимуществ automounter - возможность установить определенное значение из любого места. Например, вы можете сохранить копии ваших Х-программ и файлов поддержки на нескольких хостах и все остальные хосты установлены через NFS. При использовании automounter, вы можете указать все три из них для установки на /usr/X386; automounter затем попробует установить любой из них, пока одна из попыток не преуспевает.
Automounter, обычно используемый с Linux, называется amd. Сначала он был написан Jan-Simon Pendry и был портирован на Linux Rick Sladkey. Текущая версия - amd-5.3. Для более подробного описания amd, пожалуйста, обратитесь к источникам; они содержат файл texinfo с очень подробной информацией.