Bug 1848616

Summary: Cockpit login failure for users with tcsh
Product: [Fedora] Fedora Reporter: apalmer
Component: cockpitAssignee: Martin Pitt <mpitt>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 31CC: dperpeet, ichavero, mpitt, pvolpe, stefw
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Unspecified   
Whiteboard:
Fixed In Version: cockpit-226-1.fc31 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-08-27 14:21:00 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
user login fail ws-trace and root success ws-root.trace none

Description apalmer 2020-06-18 15:52:00 UTC
Created attachment 1697982 [details]
user login fail ws-trace and root success ws-root.trace

User account cannot login to Cockpit, root user can. SELinux disabled.



Version-Release number of selected component (if applicable): 217


How reproducible: Any user login fails


Steps to Reproduce:
1. Attempt user login
2. Attempt root login

Actual results: user login 'Wrong user name or password'
                root login success


Expected results: user login success


Additional info: strace for user login failure and root login success attached

Comment 1 apalmer 2020-06-18 17:48:47 UTC
After a bit more testing, user login works if you specify a Connect to host, even though it is the same machine. It connects via SSH and the login is successful.

Comment 2 Martin Pitt 2020-07-02 05:11:39 UTC
I finally got round to staring at the straces, and that gave it away:

   214504 execve("/usr/bin/tcsh", ...)

tcsh indeed doesn't work, we got a similar report upstream here: https://github.com/cockpit-project/cockpit/issues/14060

The session does get started, so authentication, PAM, etc. work fine. But tcsh is trying to do something (I don't yet know any details) which causes a permission error, and then it exits:

214504 creat("3", 0666)                 = -1 EACCES (Permission denied)
214504 write(18, "3: Permission denied.\n", 22) = 22
214504 +++ exited with 1 +++

I can reproduce the problem easily.

Comment 4 Martin Pitt 2020-08-24 15:23:26 UTC
This was fixed in https://github.com/cockpit-project/cockpit/pull/14375 and released in Cockpit 226: https://bodhi.fedoraproject.org/updates/FEDORA-2020-635cfe8993

Comment 5 Fedora Update System 2020-08-24 15:24:15 UTC
FEDORA-2020-635cfe8993 has been submitted as an update to Fedora 31. https://bodhi.fedoraproject.org/updates/FEDORA-2020-635cfe8993

Comment 6 Fedora Update System 2020-08-27 14:21:00 UTC
FEDORA-2020-635cfe8993 has been pushed to the Fedora 31 stable repository.
If problem still persists, please make note of it in this bug report.