Сервер і журнали Kerberos


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
 #

Чи бреше мене це? Чи існує навіть файл журналу?

Відповіді:


3

/var/log/auth.log. Я ніколи б не зазирнув туди.

Ось як я це знайшов:

  1. Помічено, що 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.


У ньому немає нічого /var/lib/krb5kdc(каталог існує, але він порожній), і не має kdc.confабо krb5.confмає розділ реєстрації, хоча, мабуть, я міг би додати його…
Thanatos

manСторінка krb5.confбуде корисна, але man krb5.confотримує мене No manual entry for krb5.conf(Ubuntu точним). Сторінка man for kdc.confіснує і навіть посилається на передбачувану krb5.confсторінку чоловіка у розділі 5, але manне може її знайти.
Танатос
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.