не обеспечивающие дополнительную защиту. В большинстве случаев для вызова клиент-программы надо ввести ее имя и имя сервера, с которым необходимо установить соединение. Иногда для использования средств Kerberos приходится задавать некоторые параметры. Например, чтобы избавить пользователя от необходимости указывать имя и пароль при работе с клиентом telnet
, этой программе надо предоставить дополнительные данные. Особенности вызова керберизованных клиентов описаны ниже.
• telnet
. Программа telnet
, ориентированная на работу с Kerberos, отличается от стандартной программы telnet
лишь некоторыми опциями. Если вы вызовете программу с помощью команды telnet
, вам придется ввести пользовательское имя и пароль. Чтобы воспользоваться преимуществами однократной регистрации, вы должны задать опции -а
(автоматическая регистрация) и -f
(перенаправление билетов).
• rlogin
. Стандартная программа rlogin
может создавать серьезную угрозу безопасности системы (этот вопрос будет подробно рассмотрен в главе 13). Работая с керберизованной версией этой программы, можно воспользоваться средствами аутентификации Kerberos, для чего необходимо задать опцию -f
. Результат получится приблизительно такой же, как при вызове telnet
с опциями -а
и -f
.
• ftp
. При вызове без дополнительных опций данная программа использует средства аутентификации Kerberos, но пользователю приходится подтверждать регистрационное имя (имя пользователя отображает программа, для подтверждения достаточно нажать клавишу <Enter>).
Программа ftp
, поставляемая в составе пакета Kerberos, в процессе установления соединения отображает более подробную информацию, чем другие клиенты Kerberos. Если у вас возникли проблемы с установкой конфигурации Kerberos, эта информация поможет разрешить их.
• rsh
. Данная утилита позволяет запускать на другом компьютере программы, выполняющиеся в текстовом режиме, без использования telnet
, rlogin
и других подобных средств. Как и при работе с прочими керберизованными инструментами, при вызове данной программы надо задавать опцию -f
.
• rcp
. Стандартная программа rcp
предназначена для передачи файлов; керберизованная версия данного инструмента поддерживает средства аутентификации Kerberos.
• Прочие программы. Здесь рассмотрены лишь описания сетевых инструментов, поставляемых в составе стандартного пакета Kerberos V5. В настоящее время доступны другие керберизованные системы. Очевидно, что для работы с ними необходимо, чтобы средства Kerberos поддерживались как клиентами, так и серверами.
В справочной системе приведена дополнительная информация о керберизованных клиентских программах, в том числе сведения о различных опциях, которые задаются при их вызове. В особенности внимательно надо прочитать документацию на программы, не входящие в стандартный пакет поставки Kerberos. Некоторые из них обеспечивают минимальное взаимодействие с Kerberos (например, поддерживают аутентификацию, но не осуществляют кодирование), другие реализуют полный набор функций защиты. Говоря о средствах Kerberos, следует особо отметить кодирование данных, которое должно поддерживаться всеми стандартными клиентами Kerberos. Если при вызове такого клиента вы укажете в командной строке опцию -х
, данные будут передаваться в зашифрованном виде. Эта возможность чрезвычайно полезна в том случае, если необходимо передавать важные данные по Internet или даже по локальной сети. Например, если вы собираетесь зарегистрироваться на компьютере с помощью средств Telnet, а затем использовать команду su
для выполнения административных функций, то, вероятно, захотите передавать данные в зашифрованном виде и защитить таким образом пароль пользователя root
. Это позволит сделать команда которая ksu
, будет рассмотрена ниже в этой главе.
При установке системы Kerberos, поставляемой в виде исходных кодов, пользовательские программы по умолчанию размещаются в каталоге /usr/local/bin
(инструменты, предназначенные для администрирования, располагаются в /usr/local/sbin
). Некоторые пакеты, распространяемые в виде двоичных кодов, используют другие каталоги. Например, Kerberos для Red Hat помещает пользовательские программы в каталог /usr/kerberos/bin
. Для того чтобы использовать керберизованные инструменты вместо стандартных программ, надо включить каталоги, в которых размещены эти инструменты, в состав строки, задаваемой в качестве значения переменной окружения PATH
, и убедиться, что они находятся перед каталогами со стандартными программами. (Значение переменной окружения PATH
обычно указывается в файле /etc/profile
, а для пользователей, работающих с оболочкой Bash, — в файле .bashrc
.
Применение Kerberos для регистрации пользователей
При обсуждении средств поддержки сеанса Kerberos предполагалось, что пользователь уже зарегистрирован в системе. Однако подобный подход крайне неудобен, так как пользователю приходится регистрироваться дважды: один раз в начале работы на компьютере, а второй раз при работе с серверами Kerberos (при запуске программы kinit
). Решением этой проблемы могло бы быть использование программы, одновременно решающей обе задачи. В составе пакета Kerberos обычно поставляются два подобных инструмента: login.krb5
и ksu
. Они предназначены для регистрации пользователя в текстовом режиме. Регистрацию можно было бы организовать и по-другому, модифицировав библиотеки Linux для работы с Kerberos. Такое решение сложнее в реализации, но обеспечивают большую гибкость.
Рекомендуется перед использованием login.krb5
сначала проверить программу kinit
для основных учетных записей, в том числе для записи root. Если kinit
не работает, не будет работать и login.krb5
, следовательно, вам не удастся зарегистрироваться с консоли в текстовом режиме. Желательно также зарегистрироваться под именем root с одного из виртуальных терминалов. В случае, если у вас возникнут проблему с использованием login.krb5
, вы сможете изменить конфигурацию программы. Аналогичному подходу необходимо следовать и при работе с другими инструментами регистрации.
Процедура регистрации в системе Linux в текстовом режиме включает использование программы getty
или одной из ее разновидностей (разновидностями getty
являются mingetty
, mgetty
и vgetty
). Они запускаются из /etc/inittab
, контролируют консольный терминал и последовательные порты и передают управление программе /bin/login
. Программы поддержки некоторых сетевых протоколов, например Telnet, также вызывают /bin/login
. Как следует из имени login.krb5
, эта программа создана для замены /bin/login
. Прежде чем выполнять такую замену, желательно сохранить исходную программу регистрации под другим именем. Например, вы можете использовать следующие команды:
# mv /bin/login /bin/login-original
# cp /usr/kerberos/sbin/login.krb5 /bin/login
Если возникнут проблемы с использованием login.krb5
, вы всегда сможете