Книга: Сетевые средства Linux
Средства синхронизации идентификаторов пользователей, выполняемые на стороне сервера
Средства синхронизации идентификаторов пользователей, выполняемые на стороне сервера
Предположим, что вы занимаетесь администрированием сети, состоящей из двух компьютеров. На каждом узле этой сети существуют учетные записи для пользователей, перечисленных в табл. 8.1. В данном примере компьютер gingko
выполняет функции сервера, а компьютер larch
выступает в роли клиента. Только у одного из пользователей (james
) идентификаторы на обоих компьютерах совпадают. Чтобы пользователь james
мог обращаться к своим собственным файлам, никакие специальные меры не требуются. Работая на компьютере larch
, alyson
обнаружит, что его файлы, хранящиеся на gingko
, принадлежат пользователю, идентифицировать которого невозможно (UID, равный 500, на компьютере larch
отсутствует). Что касается остальных двух пользователей, Jennie
и samuel
, система сообщит, что каждый из них является владельцем файлов, принадлежащих на самом деле другому.
Один из способов решения проблемы синхронизации пользовательских идентификаторов состоит в следующем. На сервере NFS создается файл соответствия идентификаторов, содержащий информацию, подобную приведенной в табл 8.1. О наличии этого файла сервер оповещается посредством опции map_static
; в качестве значения опции задается имя файла соответствия идентификаторов. В файл /etc/exports
включается запись, которая может выглядеть следующим образом:
/home larch(rw,map_static=/etc/nfs/larch-map)
Таблица 8.1. Идентификаторы пользователей на двух компьютерах
Пользователь | UID на gingko |
UID на larch |
---|---|---|
alyson | 500 | 504 |
james | 501 | 501 |
Jennie | 502 | 503 |
samuel | 503 | 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 на стороне клиента создать файл сервер не сможет выбрать локальный идентификатор.
Как и в случае, когда синхронизация идентификаторов на клиентской машине и сервере производится вручную, имена пользователей на клиентском компьютере и на сервере могут различаться. В файле соответствия содержится исключительно информация об идентификаторах пользователей и групп; сведения об именах отсутствуют. Несмотря на то что подобная ситуация не мешает нормальной работе, желательно согласовать пользовательские имена на клиентских компьютерах и на сервере.
- Средства синхронизации идентификаторов пользователей, выполняемые на стороне клиента
- Выступайте на стороне своего противника
- Выполняемые хранимые процедуры
- Эволюция на стороне сторителлинга
- Глава 9. На стороне закона
- Разрабатывать самим или заказывать на стороне
- Запуск InterBase-сервера
- Расширенная установка InterBase-сервера
- Листинг 10.1. (simpleid.c) Отображение идентификаторов пользователя и группы
- Статистика InterBase-сервера
- Организация пользователей в группы с помощью ролей
- Минимальный состав сервера InterBase SuperServer