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

NFS. Настройка клиента. Аутентификация в сети. NIS и NIS+

< Лекция 8 || Лекция 9: 12345 || Лекция 10 >
Аннотация: Лекция посвящена настройке клиентов NFS - компьютеров под управлением UNIX, использующих файлы из разделяемых в сети каталогов сервера NFS, аутентификации в сети, а именно использованию NIS и NIS+ для этой цели. Такой способ аутентификации изначально появился именно в Solaris и получил сравнительно широкое распространение в ряде сетей. С другой стороны, этот материал вряд ли интересен администраторам небольших сетей, так как их задачи редко требуют проведения общей аутентификации на нескольких компьютерах под Solaris.

Монтирование удаленных файловых систем

Монтирование файловых систем NFS осуществляется практически так же, как и монтирование файловой системы любого другого типа. Рассмотрим, как смонтировать файловую систему машины под управлением Linux, если роль файлового сервера выполняет Solaris (компьютер pxy работает под Linux, компьютер с адресом 192.168.5.33 под Solaris):

root@pxy# mount -t nfs 192.168.5.33:/nfst ./nfst
root@pxy# mount
/dev/hda1 on / type ext2 (rw)
none on /proc type proc (rw)
none on /dev/pts type devpts (rw,mode=0620)
/dev/hda3 on /usr type ext2 (rw)
/dev/hda2 on /var type ext2 (rw)
192.168.5.33:/nfst on /usr/home/filip/nfst type nfs
   (rw,addr=192.168.5.33)

Удаленная файловая система успешно смонтирована, о чем говорит последняя строка вывода mount.

Попробуем осуществить копирование файла:

root@pxy# cp /etc/mail/aliases /usr/home/filip/nfst/
root@pxy# ls /usr/home/filip/nfst/
aliases
root@pxy# ls -l /usr/home/filip/nfst/
total 1
-rw-r--r-- 1 root root 406 Jun 20 22:30 aliases

Файл был записан, как отсюда видно, от имени пользователя root и группы root. На самом деле, в выводе команды ls таится подвох. Ведь команда ls на локальной машине использует для получения соответствия между идентификатором в файловой системе и именем пользователя (группы) локальный файл /etc/passwd. Потенциальная опасность состоит в том, что на удаленном сервере и на локальной машине файлы /etc/passwd окажутся разными. В случае пользователя root это не важно, если только на сервере NFS пользователю root нашей машины разрешено монтировать файловую систему от имени root. В противном случае все файлы, которые локальный root будет записывать на удаленный сервер, будут записываться от имени nobody (или иного имени, если так определено конфигурацией сервера).

root@pxy# ls -ld /usr/home/filip/nfst/
drwxrwxr-x 2 root bin 512 Jun 20 22:30 /usr/home/filip/nfst/

Поскольку в нашем примере файл был записан от имени root, следует предположить, что настройки сервера NFS это позволяют. Проверим это на компьютере 192.168.5.33:

192.168.5.33# cat /etc/dfs/dfstab
# Place share(1M) commands here for automatic execution
# on entering init state 3.
#
# Issue the command '/etc/init.d/nfs.server start' to run
# the NFS daemon processes and the share commands, after
# adding the very first entry to this file.
#
# share [-F fstype] [ -o options] [-d "<text>"]
# <pathname> [resource]
# .e.g,
# share -F nfs -o rw=engineering -d "home dirs"
# /export/home2
share -F nfs -o root=pxy.spb.ru /nfst

Здесь, на компьютере 192.168.5.33, управляемом Solaris, разделяется общий каталог /nfst, а с компьютера pxy.spb.ru разрешено работать с этим каталогом от имени root. Следует осторожно раздавать подобные права и в большинстве случаев избегать разделения в сети каталогов с настроечной или секретной информацией.

По команде showmount можно получить список компьютеров, подключенных к серверу NFS:

192.168.5.33# showmount
pxy.spb.ru
www.spb.ru

Таким образом, на сервере NFS имя хозяина файла совпадает с тем, что мы видели с клиента NFS, а имя группы файла - нет, так как под одним и тем же идентификатором в файлах /etc/group на сервере и на клиенте значатся разные группы. На практике не следует допускать подобных расхождений, чтобы не возникало файлов, угрожающих безопасности системы. Синхронизация файлов passwd и group на сервере и клиентах или использование общей базы NIS помогут избежать путаницы в именах групп и владельцев файлов на сервере и клиенте NFS.

192.168.5.33# pwd
/nfst
192.168.5.33# ls -l
total 2
-rw-r--r-- 1 root root 406 Июн 20 22:30 aliases

Обратите внимание на одинаковое время создания файла с точки зрения команды ls сервера и клиента. В поле времени указывается время создания, которое записывает туда сервер NFS. Следует синхронизировать не только файлы group и passwd, но и время на сервере NFS и его клиентах, чтобы не было расхождений между клиентом и сервером при выполнении резервного копирования или выяснения "свежести" файлов.

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