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

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

Жанры

Сетевые средства 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 многих приложений. Любые изменения не затрагивают прикладные программы, которые взаимодействуют только с РАМ.

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

На границе империй. Том 6

INDIGO
6. Фортуна дама переменчивая
Фантастика:
боевая фантастика
космическая фантастика
попаданцы
5.31
рейтинг книги
На границе империй. Том 6

Курсант: Назад в СССР 4

Дамиров Рафаэль
4. Курсант
Фантастика:
попаданцы
альтернативная история
7.76
рейтинг книги
Курсант: Назад в СССР 4

С Новым Гадом

Юнина Наталья
Любовные романы:
современные любовные романы
эро литература
7.14
рейтинг книги
С Новым Гадом

Наследник

Кулаков Алексей Иванович
1. Рюрикова кровь
Фантастика:
научная фантастика
попаданцы
альтернативная история
8.69
рейтинг книги
Наследник

Приручитель женщин-монстров. Том 6

Дорничев Дмитрий
6. Покемоны? Какие покемоны?
Фантастика:
юмористическое фэнтези
аниме
5.00
рейтинг книги
Приручитель женщин-монстров. Том 6

Убивать чтобы жить 3

Бор Жорж
3. УЧЖ
Фантастика:
героическая фантастика
боевая фантастика
рпг
5.00
рейтинг книги
Убивать чтобы жить 3

Убивать, чтобы жить

Бор Жорж
1. УЧЖ
Фантастика:
героическая фантастика
боевая фантастика
рпг
5.00
рейтинг книги
Убивать, чтобы жить

Релокант. Вестник

Ascold Flow
2. Релокант в другой мир
Фантастика:
фэнтези
попаданцы
рпг
5.00
рейтинг книги
Релокант. Вестник

Неудержимый. Книга XIX

Боярский Андрей
19. Неудержимый
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Неудержимый. Книга XIX

Моя (не) на одну ночь. Бесконтрактная любовь

Тоцка Тала
4. Шикарные Аверины
Любовные романы:
современные любовные романы
7.70
рейтинг книги
Моя (не) на одну ночь. Бесконтрактная любовь

Папина дочка

Рам Янка
4. Самбисты
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Папина дочка

Первый пользователь. Книга 3

Сластин Артем
3. Первый пользователь
Фантастика:
боевая фантастика
рпг
5.00
рейтинг книги
Первый пользователь. Книга 3

Назад в СССР: 1985 Книга 2

Гаусс Максим
2. Спасти ЧАЭС
Фантастика:
попаданцы
альтернативная история
6.00
рейтинг книги
Назад в СССР: 1985 Книга 2

В теле пацана 4

Павлов Игорь Васильевич
4. Великое плато Вита
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
В теле пацана 4