Kerberos: kinit в Windows 8.1 приводит к пустому кешу билетов
Я установил Kerberos for Windows
на новой машине Windows 8.1.
- Домен: не указан
- Рабочая группа: WORKGROUP
Я редактировал krb5.ini
файл в C:\ProgramData\MIT\Kerberos5
каталог, как это:
[libdefaults]
default_realm = HSHADOOPCLUSTER.DE
[realms]
HSHADOOPCLUSTER.DE = {
admin_server = had-job.server.de
kdc = had-job.server.de
}
После перезагрузки я сделал kinit -kt daniel.keytab daniel
аутентифицировать меня в Царстве через консоль. Также получить билет по пользователю и паролю через Kerberos Ticket Manager
кажется, работает нормально, как билет отображается в пользовательском интерфейсе.
Что меня интересует, так это то, что когда я называю klist
Я получаю пустой список, который говорит что-то вроде cached tickets: 0
:
Мне кажется, это ненормально, так как мой компьютер Ubuntu показывает действительные билеты klist
после kinit
,
Что я делаю неправильно? Есть еще какие-то настройки? Иногда я читаю о ksetup
инструмент, но я не знаю, какие настройки здесь необходимы, а какие нет...
================================================== ==========
После того, как я установил
[libdefaults]
...
default_ccache_name = FILE:C:/ProgramData/Kerberos/krb5cc_%{uid}
в моем krb5.conf
, kinit
Команда через консоль и через Kerberos Ticket Manager создает файл по указанному пути. Пока все выглядит хорошо.
Но kinit
Команда создает заявки с очень разными именами файлов (длинные и короткие), в зависимости от того, запускаю ли я консоль как "admin" (короткое имя) или нет (длинное имя), см. скриншот ниже. Диспетчер билетов Kerberos показывает только один из билетов:
- Если запустить от имени администратора:
- Показывает тикет, который я создал через консоль администратора
- Создает файлы заявок с короткими именами
- Если запустить как обычно:
- Показывает тикет, который я создал через "нормальную" консоль
- Создает файлы заявок с длинными именами
klist
Команда по-прежнему не показывает кэшированные заявки, независимо от того, была ли консоль открыта от имени администратора или нет.
1 ответ
В документации MIT Kerberos говорится, что...
В библиотеке MIT Kerberos поддерживается несколько видов кэша учетных данных. Не все поддерживаются на каждой платформе...
- Кэши FILE - самые простые и переносимые. Простой плоский формат файла используется для хранения одного удостоверения за другим. Это по умолчанию...
- API реализован только в Windows. Он связывается с серверным процессом, который хранит учетные данные в памяти...
Имя кэша учетных данных по умолчанию определяется...
-KRB5CCNAME
переменная окружения...
-default_ccache_name
переменная профиля в [libdefaults]
- жестко заданный по умолчанию,DEFCCNAME
Но AFAIK, в Windows жестко закодированный кеш по умолчанию API:
и это то, что вы можете управлять с помощью пользовательского интерфейса. kinit
также использует этот протокол по умолчанию.
Я лично никогда не мог использовать klist
использовать этот протокол, даже со "стандартным" синтаксисом, т.е. klist -c API:
или же set KRB5CCNAME=API:
klist
С другой стороны, если вы указываете KRB5CCNAME
к FILE:*****
тогда ты можешь kinit
затем klist
билет; но он не будет отображаться в пользовательском интерфейсе и не будет доступен для веб-браузеров и тому подобного.