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 билет; но он не будет отображаться в пользовательском интерфейсе и не будет доступен для веб-браузеров и тому подобного.

Другие вопросы по тегам