From Bugzilla Helper: User-Agent: Mozilla/5.0 (compatible; Konqueror/3.3; Linux) (KHTML, like Gecko) Description of problem: Logging in on console as root fails if /etc/nologin exists. Logging in by ssh is OK. An attempt to login as root gives the following log: Dec 21 11:52:54 bolyai26 login(pam_unix)[3309]: session opened for user root by LOGIN(uid=0) Dec 21 11:52:54 bolyai26 login[3309]: Please ignore underlying account module Version-Release number of selected component (if applicable): util-linux-2.12a-16 How reproducible: Always Steps to Reproduce: 1. create /etc/nologin as root (dont close shell if you can't log in by ssh) 2. 3. Additional info: Authentication was set by system-config-authentication to shadow, MD5 passwords.
I've verified this behaviour - I think it may be more of a PAM thing.
This is a nice one - actually there are 2 bugs - in pam library for allowing the PAM_IGNORE status to get to an application and in the pam_nologin (overwriting return value by return of pam_get_item).
The openssh works because it doesn't test return value of pam_setcred and it handles the /etc/nologin file on its own.
I've fixed this in UPSTREAM CVS, however I plan to add it to the next FC3 errata too.
Actually this isn't a security bug.