Опубликован: 19.10.2005 | Уровень: специалист | Доступ: платный | ВУЗ: Европейский Университет в Санкт-Петербурге
Лекция 8:

NFS. Настройка сервера

< Лекция 7 || Лекция 8: 12345 || Лекция 9 >

Аутентичность пользователей NFS

Работа с общим диском, разделяемым между многими пользователями сети, предполагает, что в пределах сети существует общее пространство имен пользователей, т.е. пользователь gregory на любом клиентском (в терминах NFS ) компьютере имеет то же реальное имя и (что важнее) тот же идентификатор, что и пользователь gregory на сервере NFS. Это достигается использованием централизованной аутентификации (например, с помощью PAM и сервера аутентификации или с помощью NIS+). Кроме того, важно ограничить права пользователя root при доступе через NFS, т.к. пользователь root на любом компьютере в любой системе UNIX имеет идентификатор 0, но от имени пользователя root на разных компьютерах могут работать разные люди.

Для ограничения доступа пользователя root на сервере NFS, любые файловые запросы от имени пользователей root клиентских компьютеров выполняются от имени nobody. Можно указать, пользователям root каких компьютеров мы предоставляем привилегированный доступ от имени root и через NFS.

По умолчанию файловая система экспортируется с правами чтения и записи для тех, кто ее смонтирует. Однако, права доступа к конкретным каталогам могут запрещать запись в них, фактически права доступа к удаленной файловой системе определяются комбинацией прав, данными при монтировании системы и прав доступа к каталогам; силу имеют более строгие права (например, нельзя записать файл в каталог, если нет права записи в каталог ИЛИ если право есть, но файловая система экспортируется в режиме read-only - только для чтения).

Рассмотрим для примера файл /etc/dfs/dfstab системы Solaris:

share -F nfs -o rw=@212.231.110, ro=@192.168.4 /home
share -F nfs -o ro=212.231.110@,root=212.231.110.112\ 
	/usr/share/man

Файловая система /home экспортируется с возможностью чтения и записи для компьютеров сети 212.231.110, и только чтения - для компьютеров сети 192.168.4. Файловая система /usr/share/man экспортируется для чтения для компьютеров сети 212.231.110. Пользователю root с компьютера 212.231.110.112 разрешен доступ с правами суперпользователя к этой файловой системе.

Полный список доступных режимов и настроек при указании экспортируемой файловой системы доступен в man share и man share_nfs, а некоторые из них обсуждаются ниже, в разделе "параметры экспорта в /etc/dfs/dfstab ".

Сервер NFS и бездисковые станции

Для бездисковых станций через сеть с помощью NFS экспортируются все файловые системы, которые им нужны, и даже область свопинга. Поэтому, настраивая экспорт файловой системы для бездисковых станций, следует убедиться, что для них экспортируется корневая файловая система и область свопинга.

Под "корневой файловой системой" мы здесь понимаем определенный заранее каталог на сервере NFS, играющий роль корневой файловой системы для бездисковой станции. Собственный корневой каталог сервера не следует экспортировать вообще.

Файловые системы бездисковых рабочих станций монтируются из отдельного каталога сервера (в наших примерах мы будем использовать каталог /export, но можно задействовать и любой другой каталог) и по составу файлов аналогичны файловым системам автономных компьютеров, оснащенных дисками.

Табл. 18.1 демонстрирует соответствие экспортируемых на сервере каталогов и точек монтирования на бездисковых рабочих станциях.

Таблица 18.1. Соответствие каталогов сервера NFS и точек монтирования бездисковых рабочих станций
Экспортируемые каталоги на сервере Импортируемые каталоги на бездисковом компьютере Пояснение Параметры монтирования
/export/root/<hostname> / корневой каталог -o nosuid
export/exec/<platformname> /usr Каталог выполняемых файлов (Shared Product Object Tree - SPOT). Содержимое этого каталога зависит от аппаратной платформы, разным платформам должны монтироваться разные каталоги -o ro
/export/home/<hostname> /home возможно потребуется -o nosuid
/export/share /usr/share -o ro
/export/swap/<hostname> Применяется на бездисковых клиентах в качестве удаленного пространства подкачки

Обычным пользователям сервера доступ к каталогу /export обычно запрещают, ибо этот каталог предназначен только для монтирования его клиентами, управление этим каталогом осуществляет администратор, работая от имени root.

Каталог /export/root следует экспортировать с правами пользователей на чтение и запись.

Параметр nosuid запрещает клиентам устанавливать бит setuid для файлов на смонтированной файловой системе NFS. Этот параметр может быть полезен для случаев, когда файл принадлежит пользователю root клиента или пользователю, чей uid совпадает с uid наделенного большими правами пользователя в какой-либо из систем сети (особенно - сервера NFS ).

Вместо того чтобы использовать при монтировании каталога /export/root параметр nosuid, может оказаться достаточным запретить пользователям сервера NFS доступ к этому каталогу.

Параметр ro обеспечивает монтирование каталога только для чтения для всех клиентов. Например, каталог с системными исполняемыми файлами пользователям менять незачем, и его рекомендуется экспортировать только для чтения.

При экспорте каталога /export/home можно пойти двумя путями:

  • экспортировать каталог /home сервера, так, чтобы дать возможность пользователям работать на сервере интерактивно в своем домашнем каталоге и монтировать этот же каталог по сети при работе на других компьютерах;
  • экспортировать каталог /export/home сервера с тем, чтобы пользователи на сервере не имели домашних каталогов (или же, что менее удобно, имели разные домашние каталоги при работе на сервере и при работе на остальных компьютерах сети).

В первом случае следует обязательно указать параметр nosuid для монтирования этого каталога через NFS.

< Лекция 7 || Лекция 8: 12345 || Лекция 9 >
Алексей Антипин
Алексей Антипин
Россия, Томск, ТУСУР, 2010
Игорь Тарасенко
Игорь Тарасенко
Россия