Summary: | pam: can't login, pam_motd failed | ||
---|---|---|---|
Product: | Sisyphus | Reporter: | Yuri N. Sedunov <aris> |
Component: | pam | Assignee: | placeholder <placeholder> |
Status: | CLOSED FIXED | QA Contact: | qa-sisyphus |
Severity: | normal | ||
Priority: | P5 | CC: | aen, antohami, evg, glebfm, grizlik78, ldv, mike, placeholder, rider |
Version: | unstable | ||
Hardware: | x86_64 | ||
OS: | Linux |
Description
Yuri N. Sedunov
2020-04-26 07:22:19 MSK
у pam_motd есть какие-нибудь аргументы? $ rpm -qf /etc/pam.d/login login-0.60-alt35.x86_64 $ sudo grep pam_motd /etc/pam.d/login session optional pam_motd.so Понятно, ждите фикс. (In reply to Yuri N. Sedunov from comment #0) > pam-1.3.1.0.212.76916-alt1 > > login[4196]: pam_motd(login:session): pam_motd: failed to allocate dirname > array Эта ошибка не влияет на код завершения pam_motd. Какие-нибудь ещё ошибки были? Это всё, что есть в журнале про неудачный логин: $ C sudo journalctl -b |grep "login\[4196\]" login[4196]: pam_tcb(login:auth): Authentication passed for aris from (uid=0) login[4196]: pam_tcb(login:session): Session opened for aris by (uid=0) login[4196]: pam_motd(login:session): pam_motd: failed to allocate dirname array Если убрать pam_motd из стека, логин исправляется? (Ответ для Dmitry V. Levin на комментарий #6) > Если убрать pam_motd из стека, логин исправляется? Да, конечно. (In reply to Yuri N. Sedunov from comment #7) > (Ответ для Dmitry V. Levin на комментарий #6) > > Если убрать pam_motd из стека, логин исправляется? > > Да, конечно. Несмотря на то, что pam_motd вернул PAM_IGNORE? Лично у меня всё заканчивается сегфолтом login[818262]: pam_motd(login:session): pam_motd: failed to allocate dirname array kernel: login[818262]: segfault at 0 ip 00007f4fd766f870 sp 00007ffe0b896500 error 4 in pam_motd.so[7f4fd766f000+1000] login[818444]: pam_motd(login:session): pam_motd: failed to allocate dirname array kernel: login[818444]: segfault at 0 ip 00007fd40a66c870 sp 00007fff660eb2a0 error 4 in pam_motd.so[7fd40a66c000+1000] login[845728]: pam_motd(login:session): pam_motd: failed to allocate dirname array kernel: login[845728]: segfault at 0 ip 00007f96ffd64870 sp 00007fff70507200 error 4 in pam_motd.so[7f96ffd64000+1000] И да, если pam_motd закомментировать, то логин проходит нормально, при возврате снова сегфолт. (In reply to Aleksey Borisenkov from comment #9) > Лично у меня всё заканчивается сегфолтом > > login[818262]: pam_motd(login:session): pam_motd: failed to allocate dirname > array > kernel: login[818262]: segfault at 0 ip 00007f4fd766f870 sp 00007ffe0b896500 > error 4 in pam_motd.so[7f4fd766f000+1000] Да, это ожидаемо, я видел это в коде, непонятно, почему никто до вас не видел этой ошибки в логе. > И да, если pam_motd закомментировать, то логин проходит нормально, при > возврате снова сегфолт. Спасибо, теперь всё встало на свои места. Давайте сверим часы. Мой прогноз: Если сделать mkdir -p /etc/motd.d /run/motd.d /usr/lib/motd.d то сегфолт прекратится, login починится, но жалоба "failed to allocate dirname array" останется. Если сделать rmdir /etc/motd.d /run/motd.d /usr/lib/motd.d; mkdir -p /run/motd.d; touch /run/motd.d/foo то сегфолт вернётся, login сломается, но жалоба "failed to allocate dirname array" уйдёт. (Ответ для Dmitry V. Levin на комментарий #11) > Давайте сверим часы. Мой прогноз: > > Если сделать mkdir -p /etc/motd.d /run/motd.d /usr/lib/motd.d > то сегфолт прекратится, login починится, но жалоба "failed to allocate > dirname array" останется. > Починился, жалобы на "failed to allocate dirname array" нет, как и на сегфолт. > Если сделать rmdir /etc/motd.d /run/motd.d /usr/lib/motd.d; mkdir -p > /run/motd.d; touch /run/motd.d/foo > то сегфолт вернётся, login сломается, но жалоба "failed to allocate dirname > array" уйдёт. Не починился, жалоба на "failed to allocate dirname array" и сегфолт есть. Аналогично, чинятся вместе и ломаются вместе, вопреки прогнозу. (In reply to Aleksey Borisenkov from comment #13) > Аналогично, чинятся вместе и ломаются вместе, вопреки прогнозу. OK, поскольку calloc(0, 1) != NULL, так и должно быть. Всем спасибо за тестирование. linux-pam-1.3.1.0.223.c2c0-alt1 -> sisyphus: Sun Apr 26 2020 Dmitry V. Levin <ldv@altlinux> 1.3.1.0.223.c2c0-alt1 - v1.3.1-212-g76916913 -> v1.3.1-223-gc2c0434b (closes: #38389). |