Bug 1596735

Summary: accountsservice system account misclassification
Product: Red Hat Enterprise Linux 7 Reporter: Jiri Koten <jkoten>
Component: accountsserviceAssignee: Ray Strode [halfline] <rstrode>
Status: CLOSED NOTABUG QA Contact: Desktop QE <desktop-qa-list>
Severity: high Docs Contact:
Priority: high    
Version: 7.6CC: jkoten, tpelka
Target Milestone: alpha   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: accountsservice-0.6.50-1.el7 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-07-20 16:40:29 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:

Description Jiri Koten 2018-06-29 14:53:00 UTC
Description of problem:
My local user 'test' is no longer present on the login screen in the users list. This happened at some point after I have updated from rhel-7.5 to 7.6. But it worked after the initial update from 7.5.

I have to use Not listed? and fill out the username. After that I'm able to login.

I use separate home partition and when I reboot to rhel-7.5 the user shows in login screen.

$ id
uid=1001(test) gid=1001(test) groups=1001(test),4(adm),984(wireshark) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

#passwd
test:x:1001:1001::/home/test7/:/bin/zsh

Version-Release number of selected component (if applicable):
gdm-3.28.2-5.el7

How reproducible:
100%

Comment 2 Ray Strode [halfline] 2018-06-29 19:01:46 UTC
can you attach,

# cat /var/lib/AccountsService/users/test

Comment 3 Jiri Koten 2018-07-02 09:12:36 UTC
# cat /var/lib/AccountsService/users/test
[User]
Language=
XSession=gnome
Icon=/home/test7/.face
SystemAccount=true

On rhel-7.5
# cat /mnt/local/var/lib/AccountsService/users/test
[User]
Language=en_US.utf8
XSession=gnome
SystemAccount=false


The 'test' user gets falsely evaluated as system user in rhel-7.6.

accountsservice-0.6.49-1.el7

Comment 5 Ray Strode [halfline] 2018-07-19 17:22:39 UTC
i think this should be fixed by accountsservice-0.6.50, but you'll have to manually fix /var/lib/AccountsService/users/test since that damage won't get repaired automatically.

Comment 7 Jiri Koten 2018-07-20 13:48:24 UTC
I still don't see user 'test' in users list. And it's not present in Account Settings either.

I have deleted the /var/lib/AccountsService/users/test but that didn't help and after the file was newly created the "SystemAccount=true"

I have changed that to false and rebooted but that didn't help either. It's being changed to true upon login.

accountsservice-0.6.50-2.el7.x86_64

Comment 8 Ray Strode [halfline] 2018-07-20 13:59:47 UTC
can you give me the full output of

# getent passwd

and 

# cat /etc/shells


?

Comment 9 Ray Strode [halfline] 2018-07-20 14:00:24 UTC
also

# cat /etc/shadow

(but make sure your password isn't one you care about)

Comment 11 Ray Strode [halfline] 2018-07-20 14:42:55 UTC
(ignore comment 10 it was meant for a different bug)

Comment 12 Jiri Koten 2018-07-20 15:10:15 UTC
The issue was with my login shell. I use zshell, but after upgrade to 7.6, by mistake I have cleaned up my /etc/shells - used the default /etc/shells.rpmnew which doesn't include /bin/zsh and ended with following.

# cat /etc/passwd
...
test:x:1001:1001::/home/test7/:/bin/zsh


# cat /etc/shells
/bin/sh
/bin/bash
/usr/bin/sh
/usr/bin/bash

After I fixed /etc/shells the user is present on the login screen and SystemAccount=false

Not sure what is the logic behind this in accountsservice part, but I guess we can close it as not a bug.

I'm sorry for the trouble.