3

Я пытаюсь настроить сервер Kerberos и сталкиваюсь с какой-то проблемой с сообщением о конфигурации. К сожалению, демон отказывается говорить мне, что пошло не так; он говорит мне "видеть файл журнала", но никогда не упоминает, какой файл журнала.

 # service krb5-kdc start
 krb5kdc: cannot initialize realm EXAMPLE.COM - see log file for details
 # ls /var/log/k*
 /var/log/kern.log
 # krb5kdc
 krb5kdc: cannot initialize realm EXAMPLE.COM - see log file for details
 # strace krb5kdc 2>&1 | grep write
 write(2, "krb5kdc: cannot initialize realm"..., 72krb5kdc: cannot initialize realm EXAMPLE.COM - see log file for details
 #

Это врет мне? Существует ли вообще файл журнала?

2 ответа2

3

/var/log/auth.log . Я бы никогда не посмотрел туда.

Вот как я нашел это:

  1. Заметил, что в выводе strace был sendto который начинался с даты / времени, как могло бы быть в журнале.
  2. Изолированные это:

    # strace krb5kdc -n 2>&1 | grep sendto
    sendto(3, "<35>Feb 13 17:43:41 krb5kdc[2400"..., 115, MSG_NOSIGNAL, NULL, 0) = 115
    
  3. Ищите звонок в socket , чтобы увидеть, куда он идет.

    # strace krb5kdc -n 2>&1 | grep 'socket\|connect'
    socket(PF_FILE, SOCK_DGRAM|SOCK_CLOEXEC, 0) = 3
    connect(3, {sa_family=AF_FILE, path="/dev/log"}, 110) = 0
    
  4. Выясните, куда идет /dev/log , но сейчас я выясняю системный регистратор:

    # netstat -xp | grep /dev/log
    unix  5      [ ]         DGRAM                    7731     671/rsyslogd        /dev/log
    
  5. На самом деле не говорит мне, где, но, возвращаясь к исходному strace , мы можем попросить strace не обрезать строку:

    # strace -s 1000 krb5kdc -n 2>&1 | grep sendto
    sendto(3, "<35>Feb 13 17:47:05 krb5kdc[24194]: LDAP bind dn value missing  - while initializing database for realm EXAMPLE.COM", 115, MSG_NOSIGNAL, NULL, 0) = 115
    
  6. rsyslog , вероятно, регистрируется где-то в /var/log , и теперь у меня есть сообщение журнала. Просто grep для этого:

    # cd /var/log && grep -R * -e 'LDAP bind dn'
    «tons of hits in auth.log»
    
1

Ведение журнала для KDC обычно настраивается в /etc/krb5kdc/kdc.conf (иногда /var/lib/krb5kdc/…) или в глобальном /etc/krb5.conf . (Это не имеет значения, какой.) И krb5.conf и kdc.conf имеют справочные страницы.

[logging]
    kdc = SYSLOG
    # kdc = STDERR

Мое первое предположение состоит в том, что вы еще не создали область, используя kdb5_util create .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .