Должен ли файл кэша Kerberos оставаться пустым после успешной аутентификации? - PullRequest
0 голосов
/ 18 декабря 2018

Я борюсь с подключением к Impala, которая является частью Kerberised CDH кластера через драйвер JDBC.Для аутентификации мне нужно приобрести билет Kerberos на моем компьютере.kinit работает как шарм.Странно то, что когда я устанавливаю переменную KRB5CCNAME, указывающую на файл, файл остается пустым после успешной аутентификации, но klist показывает, что я аутентифицирован.Это ожидаемое поведение?

Причина, по которой я спрашиваю это, заключается в том, что мое java-приложение не может подключиться к Impala, и в сообщении об ошибке указывается, что проблема заключается в пустом файле.Тем не менее, скрипт Python может подключаться к той же Impala с той же машины.

Это Mac 2018.

1 Ответ

0 голосов
/ 19 декабря 2018

Это не должно быть.

У Apple есть своя собственная реализация kerberos (Heimdal), которая делает эту странную пустую вещь.

Я установил krb5 пакет от brew, изменил PATH соответственно и работает нормально.

myself@mymachine:~$ brew info krb5
krb5: stable 1.16.2 (bottled) [keg-only]
Network authentication protocol
https://web.mit.edu/kerberos/
/usr/local/Cellar/krb5/1.16.2 (160 files, 3.7MB)
  Poured from bottle on 2018-12-18 at 15:20:46
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/krb5.rb
==> Dependencies
Required: openssl ✔
==> Caveats
krb5 is keg-only, which means it was not symlinked into /usr/local,
because macOS already provides this software and installing another version in
parallel can cause all kinds of trouble.

If you need to have krb5 first in your PATH run:
  echo 'export PATH="/usr/local/opt/krb5/bin:$PATH"' >> ~/.bash_profile
  echo 'export PATH="/usr/local/opt/krb5/sbin:$PATH"' >> ~/.bash_profile

For compilers to find krb5 you may need to set:
  export LDFLAGS="-L/usr/local/opt/krb5/lib"
  export CPPFLAGS="-I/usr/local/opt/krb5/include"

For pkg-config to find krb5 you may need to set:
  export PKG_CONFIG_PATH="/usr/local/opt/krb5/lib/pkgconfig"

==> Analytics
install: 198 (30 days), 614 (90 days), 1,986 (365 days)
install_on_request: 182 (30 days), 557 (90 days), 1,768 (365 days)
build_error: 0 (30 days)

myself@mymachine:~$ /usr/bin/klist --version
klist (Heimdal 1.5.1apple1)
Copyright 1995-2011 Kungliga Tekniska Högskolan
Send bug-reports to heimdal-bugs@h5l.org

Аналогичная проблема возникнет в Windows, где Kerberos не учитывает, установлена ​​ли переменная среды KRB5CCNAME или нет.Решением для этого является использование более старой версии. На этой странице упоминается версия 4.0.1, однако на странице Kerberos вы можете найти 4.1.Первый будет использовать файловый кеш, последний будет использовать API, и довольно сложно попросить его не использовать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...