Чтение онлайн

на главную - закладки

Жанры

Сетевые средства Linux

Смит Родерик В.

Шрифт:

Применение Kerberos для регистрации пользователей

При обсуждении средств поддержки сеанса Kerberos предполагалось, что пользователь уже зарегистрирован в системе. Однако подобный подход крайне неудобен, так как пользователю приходится регистрироваться дважды: один раз в начале работы на компьютере, а второй раз при работе с серверами Kerberos (при запуске программы

kinit
). Решением этой проблемы могло бы быть использование программы, одновременно решающей обе задачи. В составе пакета Kerberos обычно поставляются два подобных инструмента:
login.krb5
и
ksu
. Они предназначены для регистрации пользователя в текстовом режиме. Регистрацию можно было бы организовать и по-другому, модифицировав библиотеки Linux для работы с Kerberos. Такое решение сложнее в реализации, но
обеспечивают большую гибкость.

Внимание

Рекомендуется перед использованием

login.krb5
сначала проверить программу
kinit
для основных учетных записей, в том числе для записи root. Если
kinit
не работает, не будет работать и
login.krb5
, следовательно, вам не удастся зарегистрироваться с консоли в текстовом режиме. Желательно также зарегистрироваться под именем root с одного из виртуальных терминалов. В случае, если у вас возникнут проблему с использованием
login.krb5
, вы сможете изменить конфигурацию программы. Аналогичному подходу необходимо следовать и при работе с другими инструментами регистрации.

Выполнение аутентификации Kerberos в текстовом режиме

Процедура регистрации в системе 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
, вы всегда сможете восстановить исходную программу
/bin/login
. После замены программы
login
регистрация пользователя на компьютере будет автоматически сопровождаться начальной регистрацией в системе Kerberos. Процедура начальной регистрации включает получение TGT, поэтому после нее нет необходимости в вызове
kinit
. Несмотря на то что описанная конфигурация предполагает наличие записи в файле
/etc/passwd
, рабочего каталога пользователя и прочих ресурсов, необходимых в обычных условиях для нормальной работы на компьютере, в системе будет выполняться только аутентификация Kerberos. Существуют также другие средства регистрации, которые надо модифицировать для работы с Kerberos. К ним относятся регистрация с помощью инструментов с графическим интерфейсом, а также регистрация посредством серверов, которые не используют
/bin/login
, например SSH.

Переход к новой учетной записи после регистрации

При использовании

su
для замены учетной записи в работу включается новый механизм аутентификации. В состав пакета Kerberos входит альтернативный инструмент
ksu
, который принимает решение о переходе к учетной записи другого пользователя и выполняет необходимые действия. Для работы этой программы должны выполняться следующие условия.

• Компьютер, на котором работает

ksu
, должен иметь ярлык (обычно он хранится в файле
/etc/krb5.keytab
).

• Для исполняемого файла

ksu
должен быть установлен признак SUID, так, чтобы программа, запускаемая от имени любого пользователя, выполнялась с правами
root
. Во многих пакетах Kerberos этот признак не установлен, поэтому вам необходимо сделать это самостоятельно (вызвать команду
chmod a+s /usr/kerberos/bin/ksu
).

• Для повышения уровня защиты пользователю, учетной записью которого вы собираетесь воспользоваться, должен соответствовать

файл авторизации, в котором указываются права доступа для других пользователей. В роли файла авторизации может выступать
.k5login
или
.k5users
. Особенности создания и использования этих файлов описаны ниже.

Для того чтобы один пользователь мог перейти к учетной записи другого пользователя, целевой пользователь должен создать файл авторизации. Без этого файла

ksu
запросит пароль, который может быть передан по сети в незашифрованном виде (это произойдет, если пользователь регистрировался посредством незащищенного протокола, например Telnet). Файл
.k5login
предоставляет другому пользователю полный набор привилегий. Он состоит из набора строк, в каждой из которых указан принципал Kerberos. Файл
.k5users
предоставляет пользователю ограниченный доступ; в нем указаны списки программ, которые этот пользователь может запускать. Каждая строка файла начинается с идентификатора принципала Kerberos, за которым следуют имена программ, разделенных пробелами. Групповые операции обозначаются с помощью символа
*
. Ниже приведен пример записи, с помощью которой принципалу
minerva@THREEROOMCO.COM
предоставляются права на запуск программ
/bin/ls
и
/usr/bin/zip
.

minerva@THREEROOMCO.COM /bin/ls /usr/bin/zip

После настройки программа

ksu
работает подобно
su
— вы вводите имя программы, затем указываете имя пользователя, привилегии которого вы собираетесь получить. Если файлы
.k5login
и
.k5users
отсутствуют, вам придется ввести пароль для принципала. При наличии файла авторизации вводить пароль не нужно. Такой подход создает меньшую угрозу для безопасности системы, чем взаимодействие по незащищённому протоколу.

Если вы хотите непосредственно выполнить некоторую программу, вы можете сделать это с помощью опции

– е имя_программы
. Например, для того, чтобы запустить
/bin/ls
от имени пользователя
fluffy
, вам надо вызвать команду
fluffy -e /bin/ls
.

Использование РАМ

Замена программ

login
и
su
специальными инструментами, ориентированными на работу с Kerberos, помогает решать задачи аутентификации, но существуют ситуации, в которых подобный подход не приносит желаемых результатов. Особенный интерес вызывают случаи, когда возникает необходимость контролировать процесс регистрации на рабочей станции с помощью программы с графическим интерфейсом и выполнять аутентификацию в системе Kerberos. Существуют также другие локальные средства, выполняющие аутентификацию пользователей, которые необходимо связать с Kerberos; в качестве примеров таких средств можно привести
vlock
и
xscreensaver
(эти инструменты блокируют сеанс взаимодействия, осуществляемый как в текстовом, так и в графическом режиме, до тех пор, пока пользователь не введет пароль). Существуют универсальные инструменты связывания различных программы со средствами Kerberos, но на сегодняшний день эти инструменты нельзя назвать широко распространенными, и они не поставляются в комплекте с Kerberos. Средства для решения данной задачи базируются на поддержке модулей РАМ (Pluggable Authentication Module — встраиваемый модуль аутентификации) в системе Linux.

РАМ выполняет роль посредника между программами, которым требуется аутентификация (например, сервером FTP, программой

login
, инструментами регистрации, работающими в среде X Window), и базами данных, в которых хранится информация о пользователях, в частности пароли (
/etc/passwd
,
/etc/shadow
и другие файлы стандартного пакета Linux). Процедуры аутентификации оформляются в виде отдельной библиотеки. В этом случае файлы, применяемые для аутентификации, могут быть без труда модифицированы, а программы, использующие их, остаются без изменений. Для поддержки нового формата файлов модифицируются только РАМ. В этом смысле реализация средств поддержки Kerberos в виде РАМ является почти идеальным решением, позволяющим обеспечить совместную работу с Kerberos многих приложений. Любые изменения не затрагивают прикладные программы, которые взаимодействуют только с РАМ.

Поделиться:
Популярные книги

Замок (сборник)

Вилсон Фрэнсис Пол
Мастера остросюжетного романа
Фантастика:
мистика
5.00
рейтинг книги
Замок (сборник)

По ходу пьесы. История одного пистолета. Это его дело. Внезапная смерть игрока. Идея в семь миллионов

Эдигей Ежи
Детективы:
полицейские детективы
5.00
рейтинг книги
По ходу пьесы. История одного пистолета. Это его дело. Внезапная смерть игрока. Идея в семь миллионов

Последний реанорец. Том X

Павлов Вел
9. Высшая Речь
Фантастика:
фэнтези
попаданцы
аниме
5.25
рейтинг книги
Последний реанорец. Том X

Жена неверного генерала, или Попаданка на отборе

Удалова Юлия
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Жена неверного генерала, или Попаданка на отборе

МИФЫ. Великолепный МИФ (сборник)

Асприн Роберт Линн
Мифология
Фантастика:
юмористическое фэнтези
8.76
рейтинг книги
МИФЫ. Великолепный МИФ (сборник)

Поход

Валериев Игорь
4. Ермак
Фантастика:
боевая фантастика
альтернативная история
6.25
рейтинг книги
Поход

Собрание военных повестей в одном томе

Быков Василий Владимирович
Проза:
военная проза
5.00
рейтинг книги
Собрание военных повестей в одном томе

Двигатели Бога

Макдевит Джек
1. Космоархеологи
Фантастика:
научная фантастика
6.83
рейтинг книги
Двигатели Бога

Взломщик

Грач Игорь
Вселенная EVE Online
Фантастика:
космическая фантастика
6.94
рейтинг книги
Взломщик

Космические скитальцы (Сборник)

Лейнстер Мюррей
Классика мировой фантастики
Фантастика:
боевая фантастика
6.25
рейтинг книги
Космические скитальцы (Сборник)

Разгон

Загребельный Павел Архипович
Проза:
современная проза
5.00
рейтинг книги
Разгон

Бояръ-Аниме. Газлайтер. Том 32

Володин Григорий Григорьевич
32. История Телепата
Фантастика:
альтернативная история
аниме
фэнтези
попаданцы
6.25
рейтинг книги
Бояръ-Аниме. Газлайтер. Том 32

Волки на границе

Милан Виктор
26. Боевые роботы — BattleTech
Фантастика:
боевая фантастика
6.40
рейтинг книги
Волки на границе

Цикл романов "Все секреты мира"

Берри Стив
Детективы:
триллеры
крутой детектив
5.00
рейтинг книги
Цикл романов Все секреты мира