| Summary: | systemd > 30 breaks su: pam_systemd | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Anton Guda <atu> | ||||||
| Component: | systemd | Assignee: | Lennart Poettering <lpoetter> | ||||||
| Status: | CLOSED WORKSFORME | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||||
| Severity: | high | Docs Contact: | |||||||
| Priority: | unspecified | ||||||||
| Version: | rawhide | CC: | harald, johannbg, lpoetter, metherid, mschmidt, notting, plautrba | ||||||
| Target Milestone: | --- | ||||||||
| Target Release: | --- | ||||||||
| Hardware: | Unspecified | ||||||||
| OS: | Linux | ||||||||
| Whiteboard: | |||||||||
| Fixed In Version: | Doc Type: | Bug Fix | |||||||
| Doc Text: | Story Points: | --- | |||||||
| Clone Of: | Environment: | ||||||||
| Last Closed: | 2011-09-01 00:46:05 UTC | Type: | --- | ||||||
| Regression: | --- | Mount Type: | --- | ||||||
| Documentation: | --- | CRM: | |||||||
| Verified Versions: | Category: | --- | |||||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||||
| Attachments: |
|
||||||||
|
Description
Anton Guda
2011-07-29 21:05:00 UTC
Tested systemd 33 - same result. Fallback to 30 - all fine. If you do "systemctl restart systemd-logind.service", do things work then? The same result. It seems to be a change in protocol used by PAM: pam_systemd(su:session): Failed to parse message: Message has only 3 arguments, but more were expected It's an interface change of the D-Bus iface of logind in an older version to a newer version. Normally this should go away if you restart systemd-logind.service, which more recent systemd packages do automatically on upgrade. If this doesn't happen for you for some reason an old pam_systemd instance sticks around. If you reboot does this go away? After every systemd update or rollback I do reboot. Tested with systemd-34 - same result. Added some debug pam_warn in PAM system-auth. Here some logs: authpriv.notice<85>: Aug 29 19:10:24 atu [su:]< pam_warn(su-l:auth): function=[pam_sm_authenticate] service=[su-l] terminal=[pts/2] user=[root] ruser=[atu] rhost=[<unknown>]> authpriv.notice<85>: Aug 29 19:10:27 atu [su:]< pam_warn(su-l:setcred): function=[pam_sm_setcred] service=[su-l] terminal=[pts/2] user=[root] ruser=[atu] rhost=[<unknown>]> authpriv.err<83>: Aug 29 19:10:27 atu [su:]< pam_systemd(su-l:session): Failed to parse message: Message has only 3 arguments, but more were expected> authpriv.info<86>: Aug 29 19:10:27 atu [su:]< pam_unix(su-l:session): session opened for user root by atu(uid=1000)> authpriv.notice<85>: Aug 29 19:10:27 atu [su:]< pam_warn(su-l:setcred): function=[pam_sm_setcred] service=[su-l] terminal=[pts/2] user=[root] ruser=[atu] rhost=[<unknown>]> Maybe you are using a mixed 32bit/64bit setup where the PAM module got updated in the logind service didn't or something like this? Did you every compile systemd yourself? 32-bit only setup. Most of packages taken from rawhide and rebuild. systemd-34 tested both binary from rawhide and self-made - no difference. Created attachment 520869 [details]
log of dbus-monitor --system: bad case (systemd-34)
I made a 2 dbus-monitor logs:
good1 - systemd-30, bad - systemd-34
No visual difference. strings 1-23 and tail - switching from tty4 (root) to tty2 (atu=1000) and back.
Created attachment 520870 [details]
log of dbus-monitor --system: good case (systemd-30)
rawhide? Please run f16 proper and use the official packages. I am very sure you are for some reason running incompatible versions of pam_systemd and logind, and that's probaby due to the fact you built the package yourself and ended up with a partial upgrade. But this is the wrong place to file bugs about self-built packages, this bug tracker is for fedora packages (and rhel, ...). Please reopen if you can reproduce this issue with a standard f16 system with no left-overs of self-built packages. Thanks. Found a source of this bug. Since historic times is was a manualy added string to /etc/pam.d/system-auth-ac: session required pam_systemd.so It was added by hand as authconfig don't do this at that time. After switching to -session optional pam_systemd.so all works. P.S. I have some doubts - at may be a now masked bug, for example - logind may use different number of params in login and su. I will not reopen - all works. |