[Triage-desktop] [Bug 5856] Аутентификация в Windows-домене не работает

bugzilla-daemon bugzilla-daemon at rosalab.ru
Mon Jul 6 18:08:51 MSK 2015


http://bugs.rosalinux.ru/show_bug.cgi?id=5856

--- Comment #52 from Alexey Ivanov <a.ivanov at ntcit-rosa.ru> ---
(In reply to comment #50)
> (In reply to comment #49)
> > Судя по логу, KDM ругается на то, что в домене такого пользователя просто
> > нет:
> > NTSTATUS: NT_STATUS_NO_SUCH_USER
> > Вы уверены, что вводите правильные данные для логина?
> 
> Уверен на 200%. Windows подключается без проблем.

В логах есть одна тонкость, которая может сбить с толку.

Если хост успешно подключен к домену, а пользователь ошибается при вводе логина
и пытается войти в несуществующий аккаунт, то pam_winbind (без явно включенной
отладки) не оставляет в журнале сообщений об ошибке.
Нет, так нет: может так задумано, может пользователь хочет войти в учётку
другого модуля в цепочке pam (в локального например, через pam_unix):

июл 06 18:02:25 fresh01 login[6754]: pam_winbind(login:auth): getting password
(0x00000388)
июл 06 18:02:25 fresh01 login[6754]: pam_winbind(login:auth): pam_get_item
returned a password
июл 06 18:02:27 fresh01 login[6754]: FAILED LOGIN 1 FROM tty3 FOR (unknown),
Пользователь не известен базовому модулю проверки подлинности

Если добавить debug в настройки модуля pam_winbind, то тогда добавится, помимо
прочего, вот такая резолюция:
июл 06 18:41:38 fresh01 login[10959]: pam_winbind(login:auth): [pamh: 0x73c440]
LEAVE: pam_sm_authenticate returning 10 (PAM_USER_UNKNOWN)


Другой вариант. Если машина в домене, а пользователь ввёл неправильный пароль,
тогда логируются строки такого вида (отладка выключена, обратите внимание на
явное "Logon failure"):

июл 06 18:02:31 fresh01 login[6754]: pam_winbind(login:auth): request
wbcLogonUser failed: WBC_ERR_AUTH_ERROR, PAM error: PAM_AUTH_ERR (7), NTSTATUS:
NT_STATUS_LOGON_FAILURE, Error message was: Logon failure
июл 06 18:02:31 fresh01 login[6754]: pam_winbind(login:auth): user 'user'
denied access (incorrect password or invalid membership)


В данном же случае в логе две строки:

июл 02 15:50:52 NODE kdm[4197]: :0[4197]: pam_winbind(kde:auth): request
wbcLogonUser failed: WBC_ERR_AUTH_ERROR, PAM error: PAM_USER_UNKNOWN (10),
NTSTATUS: NT_STATUS_NO_SUCH_USER, Error message was: No such user
июл 02 15:50:52 NODE kdm[4197]: :0[4197]: pam_winbind(kde:account): valid_user:
wbcGetpwnam gave WBC_ERR_DOMAIN_NOT_FOUND

Объяснение происходящего скорее во второй строке: WBC_ERR_DOMAIN_NOT_FOUND.
Видимо, winbind не может получить данные из домена, и именно поэтому
PAM_USER_UNKNOWN - источник сведений недоступен.

ans, попробуйте, пожалуйста, проверить отобразят ли пользователей домена вот
эти команды:

wbinfo -u
getent passwd

Если нет, то нужно проверить конфиги /etc/krb5 и /etc/samba/smb.conf.

Для чистого эксперимента ввёл в домен Windows Server 2003 R2 свежий экземпляр
Rosa Fresh R5 без дополнительных контейнеров, просто обновлённый
непосредственно перед вводом в домен.
На моей тестовой площадке фреш в домен вошёл и работает как ожидается.
Работающие конфиги с него привожу ниже, чтобы было с чем сравнить.


krb5.conf

[libdefaults]
 dns_lookup_realm = false
 dns_lookup_kdc = false
 default_realm = W2K3.FQDN.CO

[realms]
 W2K3.FQDN.CO = {
  kdc = w2k3.fqdn.local:88
  admin_server = w2k3.fqdn.local:749
  default_domain = w2k3.fqdn.local
 }

[domain_realm]
 .w2k3.fqdn.local = W2K3.FQDN.CO
 w2k3.fqdn.local = W2K3.FQDN.CO

[kdc]
 profile = /etc/kerberos/krb5kdc/kdc.conf

[pam]
 debug = false
 ticket_lifetime = 36000
 renew_lifetime = 36000
 forwardable = true
 krb4_convert = false

[login]
 krb4_convert = false
 krb4_get_tickets = false


smb.conf

[global]
        passdb backend = tdbsam
        winbind nss info = rfc2307
        kerberos method = secrets only
        workgroup = W2K3R2
        realm  = w2k3.fqdn.local
        netbios name = fresh01
        security = ads
        encrypt passwords = Yes
        password server = *
        log file = /var/log/samba/log.%m
        max log size = 50
        socket options = TCP_NODELAY
        os level = 0
        local master = No
        dns proxy = No
        winbind uid = 10000-20000
        winbind gid = 10000-20000
        winbind separator = +
        template homedir = /home/%D/%U
        template shell = /bin/bash
        winbind enum groups = Yes
        winbind enum users = Yes
        winbind refresh tickets = true
        winbind offline logon = true
        winbind cache time = 1440
        winbind use default domain = Yes

Особенный интерес представляет секция [domain_realm] в krb5.conf
Пару раз раз видел как оттуда "теряется" часть содержимого, но не смог
воспроизвести и понять из-за чего.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rosalab.ru/pipermail/triage-desktop/attachments/20150706/4fcd3c63/attachment.html>


More information about the Triage-desktop mailing list