Аналогично в Ubuntu - пользователь домена иногда исчезает с экрана входа

6586
meowsqueak

Я использую аналогично для аутентификации в домене Windows на ноутбуке под управлением Ubuntu 10.04. Кажется, все работает хорошо, кроме одной вещи.

Обычно, после загрузки машины, я получаю экран входа в систему (я думаю, gdm), который перечисляет несколько учетных записей. Моя личная учетная запись не указана в / etc / passwd, но обычно она появляется, и я просто нажимаю на нее, набираю пароль и вход в систему.

Но около 50% всех загрузок приводят к тому, что мое имя пользователя отсутствует в списке gdm. Если я нажимаю «Другое ...» и ввожу свое имя пользователя или мой ДОМЕН \ имя пользователя, аутентификация всегда будет запрещена. Я вообще не могу войти с этим пользователем, хотя другие «локальные» пользователи работают.

Похоже, что текущим решением проблемы является перезагрузка ноутбука, и, если повезет при следующем запуске gdm, мое имя пользователя будет видно, и я смогу войти в систему.

Я уже попробовал несколько предложений:

  • установите источник времени ntp на тот же сервер, что и на контроллере домена, так как есть предположения, что клиент Kerberos очень строг с точки зрения синхронизации. Это, похоже, не решило проблему
  • создать учетную запись локального пользователя с тем же UID. Это приводит к тому, что мое имя всегда появляется в списке пользователей gdm, но примерно половина времени моя попытка аутентификации отклоняется, и мне приходится перезагружаться

Этот второй пункт особенно мне кажется, что что-то закулисное не может правильно инициализироваться после загрузки. Если оставить его в покое на несколько минут, это не изменит поведение - только перезагрузка, похоже, исправит это.

После неудачного входа в систему /var/log/auth.log сообщает:

gdm-session-worker[1477]: pam_succeed_if(gdm:auth): error retrieving information about user <DOMAIN>\<username> gdm-session-worker[1477]: pam_unix(gdm:auth): check pass; user unknown gdm-session-worker[1477]: pam_unix(gdm:auth): authentication failure; logname= uid=0 euid=0 tty=:0 ruser= rhost= 

Также в / var / log / syslog я вижу:

gdm-session-worker[1477]: [module:pam_lsass]pam_sm_authenticate error [login:<DOMAIN>\<username>][error code:2] 

Еще немного копания - кажется, что когда имена пользователей исчезают, процесс lsassd отказался запускаться. Кроме того, в этой ситуации попытка перезапустить lsassd не удалась, но я не могу найти способ диагностировать это. Но кажется, что вышеупомянутая проблема вызвана (или, по крайней мере, связана) с неспособностью lsassd запускаться.


Потом...

Определив, что lsassd не запускается, я попытался запустить его вручную из консоли с помощью:

$ sudo /usr/sbin/lsassd --loglevel debug 

Кажется, что он работает около 12 секунд и выдает следующее:

20100804112201: VERBOSE: 0x7fd589e03760: [lsassd_main () libmain.c: 132] Запись в журнал началась 20100804112201: INFO: 0x7fd589e03760: [LsaSrvVerifyNetLogonStatus () libmain.c: 364] LsaSrvVerifyNetLogonStatus вызов LWNet API возвратил 2 20100804112201: ОТЛАДКА: 0x7fd589e03760: [LsaSrvVerifyNetLogonStatus () libmain.c: 365] Код ошибки: 2 (символ: ERROR_FILE_NOT_FOUND)  - повторяется 11 раз -  20100804112213: ОШИБКА: 0x7fd589e03760: [LsaSrvStartupPreCheck () libmain.c: 307] При проверке запуска LSA не удалось использовать NetLogonD после 12 секунд ожидания [Код: 40116] 20100804112213: ОТЛАДКА: 0x7fd589e03760: [LsaSrvStartupPreCheck () libmain.c: 308] Код ошибки: 40116 (символ: LW_ERROR_FAILED_STARTUP_PREREQUISITE_CHECK) 20100804112213: ОШИБКА: 0x7fd589e03760: [LsaSrvStartupPreCheck () libmain.c: 350] Процесс LSA завершается из-за ошибки при проверке имени хоста при запуске [Код: 40116] 20100804112213: DEBUG: 0x7fd589e03760: [lsassd_main () libmain.c: 158] Код ошибки: 40116 (символ: LW_ERROR_FAILED_STARTUP_PREREQUISITE_CHECK) 20100804112213: ОШИБКА: 0x7fd589e03760: [lsassd_main () libmain.c: 240] Процесс LSA завершается из-за ошибки [Код: 40116] 20100804112213: ОТЛАДКА: 0x7fd589e03760: [LsaSrvLogServiceFailureEvent () lsaevent.c: 338] Код ошибки: 382312514 (символ:) 20100804112213: VERBOSE: 0x7fd589e03760: [LsaSrvLogServiceFailureEvent () lsaevent.c: 357] Не удалось опубликовать событие сбоя службы. 20100804112213: VERBOSE: 0x7fd589e03760: [LsaSrvLogServiceFailureEvent () lsaevent.c: 358] Код ошибки: [382312514] 20100804112213: VERBOSE: 0x7fd589e03760: [lsassd_main () libmain.c: 208] Основная очистка Lsa 20100804112213: INFO: 0x7fd589e03760: [lsassd_main () libmain.c: 224] Служба LSA выходит из ... 

Глядя на исходный код libmain.c, первая ошибка, кажется, сразу после вызова функции:

LWNetGetCurrentDomain() 

Может быть, какая-то проблема в общении с контроллером домена? Как можно было бы отладить LWNet?

2
Я нашел обходной путь - он включает в себя вход в систему через ssh и запуск «sudo domainjoin-cli query» - в большинстве случаев это возвращает «Domain = ... Distinguished name = ...» и затем «/ etc / init» .d / lsassd start "работает, и я могу войти в систему, если я использую опцию" Other "в GDM. Это дает какие-нибудь подсказки? meowsqueak 14 лет назад 0
Я также разместил этот вопрос на форуме Likewise: http://www.likewise.com/community/index.php/forums/viewthread/783/ meowsqueak 14 лет назад 0

0 ответов на вопрос

Похожие вопросы