502 |
Эта запись сообщает системе о том, что, предоставляя каталог /home
пользователю larch
, надо использовать файл соответствия идентификаторов с именем /etc/nfs/larch-map
. Поскольку опция map_static
входит в состав списка опций для конкретного клиента, вы можете назначать разным клиентам различные файлы соответствия. Пример содержимого файла larch-map
показан в листинге 8.2. Строки, в начале которых находится символ #
, содержат комментарии. Строки, начинающиеся с uid
, представляют информацию о соответствии пользовательских идентификаторов, а строки, в начале которых расположено ключевое слово gid
, содержат сведения о соответствии идентификаторов групп. Первое из числовых значений (или диапазон значений) в строке представляет идентификатор на клиентской машине. Второе числовое значение соответствует идентификатору, в который должен отображаться UID или GID, полученный на удаленном компьютере. Например, из листинга 8.2 видно, что UID 504 на клиентском компьютере отображается в UID 500 на сервере. Если вместо идентификатора на сервере указан символ -
, обращение данного пользователя или члена группы к серверу NFS запрещен. Такое обращение интерпретируется как попытка доступа анонимного пользователя.
Листинг 8.2. Пример содержимого файла соответствия идентификаторов
# Отображение идентификаторов для клиента larch
# удаленный локальный
uid 0-99 - # доступ запрещен
uid 504 500
uid 501 501
uid 503 502
uid 502 503
gid 0-99 - # доступ запрещен
gid 100-102 100
В файле соответствия необходимо задать идентификаторы всех пользователей. Например, в листинге 8.2 указан UID 501, который отображается в тот же идентификатор на сервере. Отсутствующий UID приведет к некорректному отображению, что, в свою очередь, станет источником проблем. В листинге 8.2 явным образом указано, что попытки обращения с системных UID (с номерами меньше 100) должны отвергаться. Аналогичное правило задано для идентификаторов групп 0-99. GID 100-102 отображаются в GUID 100. Несмотря на то что вы можете отобразить диапазон клиентских идентификаторов в единственный идентификатор на сервере, обратное действие не имеет смысла. При попытке пользователя с определенным UID на стороне клиента создать файл сервер не сможет выбрать локальный идентификатор.
Как и в случае, когда синхронизация идентификаторов на клиентской машине и сервере производится вручную, имена пользователей на клиентском компьютере и на сервере могут различаться. В файле соответствия содержится исключительно информация об идентификаторах пользователей и групп; сведения об именах отсутствуют. Несмотря на то что подобная ситуация не мешает нормальной работе, желательно согласовать пользовательские имена на клиентских компьютерах и на сервере.
Средства синхронизации идентификаторов пользователей, выполняемые на стороне клиента
Решить проблему синхронизации пользовательских идентификаторов можно, задавая на стороне сервера опцию map_daemon
. Эта опция позволяет использовать на стороне клиента специальный демон, который называется ugidd
или rpc.ugidd
. Однако при работе с таким демоном могут возникать проблемы. Во-первых, программа ugidd
поставляется не со всеми системами. Из дистрибутивных пакетов, которые обсуждались в данной книге, она входит только в состав Debian. Во-вторых, демон ugidd
приходится устанавливать на всех клиентах, а это занимает много времени. В-третьих, чтобы программа не могла быть использована для несанкционированного доступа, необходимо запретить обращения к ней (это можно сделать, задав требуемую конфигурацию в файле /etc/hosts.allow
). И, наконец, что особенно важно, данная программа слишком сложна и в некоторых случаях она вовсе не работает либо отображает всех пользователей в пользователя nobody
.
Резюме
NFS — чрезвычайно полезный инструмент, позволяющий обеспечить разделение файлов в системах UNIX и Linux. В отличие от Samba, NFS обеспечивает поддержку данных о владельцах файлов и правах доступа. Настройка NFS осуществляется несколько проще, чем конфигурирование средств Samba. С другой стороны, NFS использует принцип доверия, поэтому при работе с данной системой приходится предпринимать меры для синхронизации идентификаторов пользователей на клиентских машинах и серверах или хранить сведения о соответствии идентификаторов в специальном конфигурационном файле.
Глава 9
Совместное использование принтеров
Система печати, используемая в Linux, первоначально была разработана для BSD UNIX. Эта система, которую также называют по имени ее основного компонента LPD (Line Printer Daemon — демон принтера), намного проще, чем системы печати Windows и MacOS, и в то же время обеспечивает гораздо более высокую гибкость. Система LPD позволяет передавать задания на печать по сети; она включает и сервер печати, и клиент-программу. В системе LPD, в отличие от других систем, не предусмотрена поддержка драйверов принтеров. Для согласования с конкретными типами устройств применяются дополнительные пакеты (например, Ghostscript, информацию о котором можно получить по адресу http://www.cs.wise.edu/~ghost/
) и фильтры печати.
В данной главе рассматриваются система LPD, а также новые протоколы печати, которые в последнее время становятся все более популярными. Здесь не затрагиваются вопросы настройки компьютера для работы с конкретной моделью принтера; подобную информацию вы сможете найти в документации на вашу систему или в книгах, представляющих собой введение в систему Linux. В начале главы приводятся общие сведения о системе LPD, в частности, обсуждается функционирование сервера LPD и выбор программного обеспечения печати для работы в Linux. Затем рассматриваются вопросы настройки каждой из трех широко распространенных систем печати: BSD LPD, и CUPS.
Использование сервера LPD