Последнее поле (Целевой принципал) может отсутствовать. Оно определяет имена принципалов, к которыми применяются заданные полномочия. Например, вы можете ограничить возможности пользователя по доступу и модификации прав конкретных принципалов. Как и при определении принципала Kerberos, в идентификаторе целевого принципала можно использовать символ "*".
Рассмотрим в качестве примера следующую запись:
*/admin@THREEROOMCO.COM *
Эта запись предоставляет всем принципалам экземпляра admin полный доступ к базе данных Kerberos. Подобная запись включается в файл по умолчанию. Первое, что надо сделать, — модифицировать запись так, чтобы она соответствовала нужной вам области.
Для администрирования базы пользователей Kerberos применяются программы kadmin и kadmin.local. Программа kadmin позволяет администрировать KDC с удаленного компьютера; она организует обмен шифрованными сообщениями. Программа kadmin.local дает возможность модифицировать базу данных без применения сетевых средств. Вначале необходимо с помощью kadmin.local создать хотя бы одного пользователя, обладающего правами администратора, затем можно использовать kadmin для работы с удаленного узла. Очевидно, что удаленное администрирование можно осуществлять только в том случае, если на узле присутствуют специализированные серверы Kerberos, предназначенные для выполнения подобных задач.
При запуске программ kadmin и kadmin.local можно задавать различные параметры, определяющие имя принципала, область, администрирование которой будет выполняться, и т.д. Подробную информацию о поддерживаемых параметрах можно получить, обратившись к соответствующим разделам справочной информации. После запуска программы надо ввести команды и данные, которые она запрашивает. Например, чтобы добавить принципала admin/admin@THREEROOMCO.COM необходимо задать команду addprinc.
# kadmin.local
Authenticating as principal root/admin@THREEROOMCO.COM with
password.
kadmin.locaclass="underline" addprinc admin/admin@THREEROOMCO.COM
WARNING: no policy specified for admin/admin@THREEROOMCO.COM;
defaulting to no policy
Enter password for principal "admin/admin@THREEROOMCO.COM":
Re-enter password for principal "admin/admin@THREEROOMCO.COM":
Principal "admin/admin@THREEROOMCO.COM" created.
Как обычно, при вводе пароля символы не отображаются на экране. Не следует использовать в качестве административного пароля основной ключ.
После создания принципала, предназначенного для администрирования, вам надо сформировать для него ярлык (keytab). Ярлык — это ключ, который Kerberos использует для расшифровки административных билетов. Вам нет необходимости задавать этот ключ; Kerberos сгенерирует его самостоятельно. Достаточно лишь указать системе на необходимость выполнения этого действия, для чего следует в среде kadmin.local вызвать команду ktadd.
kadmin.locaclass="underline" ktadd -k /var/kerberos/krb5kdc/kadm5.keytab \
kadmin/admin kadmin/changepw
Для указания файла, в котором должен храниться ярлык, используется опция -k. Имя файла должно соответствовать имени, указанному посредством записи в файле kdc.conf. После указания значения опции -k задаются принципалы, для которых создается ярлык, в данном примере это kadmin/admin и kadmin/changepw (эти два принципала являются стандартными компонентами Kerberos; вам нет необходимости создавать их).
В дополнение к принципалу, который соответствует администратору, вы должны создать принципалов для ваших пользователей, серверов администрирования и KDC. Для этого используется описанная выше команда addprinc. Предположим, например, что вам надо добавить принципала fluffy@THREEROOMCO.COM. Для этого вы должны ввести следующую команду:
kadmin.locaclass="underline" addprinc fluffy@THREEROOMCO.COM
Для серверов желательно использовать опцию -randkey, которая указывает системе на то, что для этого принципала ключ должен быть сформирован по случайному закону. Если вы не зададите эту опцию, то программа предложит вам ввести пароль. Другие опции, которые могут быть применены в данной ситуации, описаны на страницах справочной системы, посвященных kadmin.
Принципалы для серверов приложений создаются аналогичным образом, но идентификаторы обычно имеют вид имя_сервера/имя_узла@имя_области (именем сервера может быть, например, pop или ftp). Необходимо также создать принципала, в идентификаторе которого в качестве основы вместо имени сервера будет указано слово host. Кроме того, надо создать ярлык принципала host, используя для этого команду ktadd. Каждый ярлык должен быть помещен в отдельный файл, т.е. для разных узлов необходимо задавать различные значения опции -k. Впоследствии этот файл следует переместить на узел, на котором выполняется сервер приложения. Можно поступить и по-другому: вызвать программу kadmin с компьютера, на котором расположен сервер приложения, создать принципала для сервера и использовать команду ktadd для того, чтобы поместить ярлык в файл на этом компьютере.