Выполнение аутентификации Kerberos в текстовом режиме
🕛 19.06.2009, 17:02
Процедура регистрации в системе Linux в текстовом режиме включает использование программы getty или одной из ее разновидностей (разновидностями getty являются mingetty, mgetty и vgetty). Они запускаются из /etc/inittab, контролируют консольный терминал и последовательные порты и передают управление программе /bin/login. Программы поддержки некоторых сетевых протоколов, например Telnet, также вызывают /bin/login. Как следует из имени login. krb5, эта программа создана для замены /bin/login. Прежде чем выполнять такую замену, желательно сохранить исходную программу регистрации под другим именем. Например, вы можете использовать следующие команды:# mv /bin/login /bin/login-original # ср /usr/kerberos/sbin/login.krb5 /bin/loginЕсли возникнут проблемы с использованием login. krb5, вы всегда сможете восстановить исходную программу /bin/login. После замены программы login регистрация пользователя на компьютере будет автоматически сопровождаться начальной регистрацией в системе Kerberos. Процедура начальной регистрации включает получение TGT, поэтому после нее нет необходимости в вызове kin it. Несмотря на то что описанная конфигурация предполагает наличие записи в файле /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).
- Для повышения уровня защиты пользователю, учетной записью которого вы собираетесь воспользоваться, должен соответствовать файл авторизации, в котором указываются права доступа для других пользователей. В роли файла авторизации может выступать . к51од1пили . k5users. Особенности создания и использования этих файлов описаны ниже.
Для того чтобы один пользователь мог перейти к учетной записи другого пользователя, целевой пользователь должен создать файл авторизации. Без этого файла ksu запросит пароль, который может быть передан по сети в незашифрованном виде (это произойдет, если пользователь регистрировался посредством незащищенного протокола, например Telnet). Файл . k51ogin предоставляет другому пользователю полный набор привилегий. Он состоит из набора строк, в каждой из которых указан принципал Kerberos. Файл .k5users предоставляет пользователю ограниченный доступ; в нем указаны списки программ, которые этот пользователь может запускать. Каждая строка файла начинается с идентификатора принципала Kerberos, за которым следуют имена программ, разделенных пробелами. Групповые операции обозначаются с помощью символа *. Ниже приведен пример записи, с помощью которой принципалу minerva@THREEROOMCO. COM предоставляются права на запуск программ /bin/Is и /usr/bin/zip.
minerva@THREEROOMCO.COM /bin/Is /usr/bin/zip
После настройки программа ksu работает подобно su - вы вводите имя программы, затем указываете имя пользователя, привилегии которого вы собираетесь получить. Если файлы . k51oginи . k5users отсутствуют, вам придется ввести пароль для принципала. При наличии файла авторизации вводить пароль не нужно. Такой подход создает меньшую угрозу для безопасности системы, чем взаимодействие по незащищённому протоколу.
Если вы хотите непосредственно выполнить некоторую программу, вы можете сделать это с помощью опции -е цмя_лрогра.ммъг.Например, для того, чтобы запустить /bin/ Is от имени пользователя fluffу,вам надо вызвать команду fluffy -e /bin/Is.