Роббинс Арнольд
Шрифт:
Дополнительный, более продвинутый API для поиска коллекций данных описан в разделе 14.4 «Расширенный поиск с использованием двоичных деревьев».
6.3. Имена пользователей и групп
Хотя операционная система для сохранения владельцев файлов и проверки прав доступа работает с идентификационными номерами пользователей и групп, люди предпочитают работать с именами пользователей и групп.
Ранние системы Unix хранили информацию, сопоставляющую имена с номерами ID, в простых текстовых файлах
69
Типичные сетевые базы данных включают Network Information Service (NIS) и NIS+ от Sun Microsystems, Kerberos (Hesiod), MacOS X NetInfo (версии вплоть до и включая 10.2) и LDAP, Lightweight Directory Access Protocol. Системы BSD хранят сведения в базах данных на диске и автоматически создают файлы
API для этих двух баз данных похожи; большая часть обсуждения фокусируется на базе данных пользователей.
6.3.1. База данных пользователей
Традиционный формат /etc/passwd поддерживает по одной строке на пользователя. В каждой строке есть несколько полей, каждое из которых отделено от следующего символом двоеточия:
По порядку эти поля следующие:
Имя пользователя
Это то, что пользователь набирает при регистрации, что отображается с помощью '
Поле пароля
На старых системах здесь хранился зашифрованный пароль пользователя. На новых системах в этом поле скорее всего стоит x (как в данном случае), это означает, что сведения о пароле находятся в другом файле. Это разделение является средством обеспечения безопасности; если непривилегированному пользователю недоступен зашифрованный пароль, его значительно сложнее «взломать».
ID пользователя
Должен быть уникальным; один номер на пользователя.
ID группы
Это номер ID начальной группы пользователя. Как обсуждается далее, на современных системах с процессами связаны несколько групп.
Настоящее имя пользователя
Это по крайней мере имя и фамилия пользователя. Некоторые системы допускают разделяемые запятыми поля для местоположения офиса, номера телефона и т.д., но это не стандартизовано.
Входной каталог
Этот каталог становится домашним каталогом для пользователей, когда они зарегистрируются в системе (
Входная программа
Программа, которая запускается при регистрации пользователя. Обычно это оболочка, но не обязательно. Если это поле оставлено пустым, по умолчанию используется
Доступ к базе данных пользователей осуществляется через процедуры, объявленные в