adduser does not update System Settings "Accounts" or the session login screen

Bug #1256585 reported by L Peter Deutsch on 2013-12-01
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
accountsservice (Ubuntu)
Undecided
Unassigned

Bug Description

I added some new users to my freshly installed Ubuntu 12.04 system using adduser in a Terminal window -- something I've done successfully with 3 previous Ubuntu releases. Now everything is OK at the filesystem level (/etc/passwd, /home/*, etc.), but neither the System Settings "Accounts" GUI nor the initial login screen shows any of the new users. I did edit /etc/adduser.conf to limit the range of system user and group IDs to 0-199 rather than 0-999, because I'm going to be copying a /home hierarchy from an earlier release that used those values and all the user IDs I added are in the range 200-999, but unless the 0-999 range is hardwired into LightDM or AccountsService or some other new piece of system software, this shouldn't cause the users to be invisible.

I've spent hours on this problem with no success. The system is unusable until I solve it, because none of the real users on the system can log in through the initial login screen, and there is no other way to create a session for a different user (sudo -l only affects the terminal window, not the desktop etc.).

To reproduce the problem:
* Start with a freshly installed 12.04 system, creating "admin1" as the initial user.
* Download and install all post-release patches.
* Edit /etc/adduser.conf to change the system UID and GID boundary from 1000 to 200, and to set usergroups to "no".
* Open a Terminal window, and execute (for example)
         adduser --uid 602 ghost
* Open the System Settings and select Accounts. The newly added user "ghost" will not appear.
* Log out of the session. When the initial login screen appears, it will not offer "ghost" as a login name.

L Peter Deutsch (lpd-lp) wrote :

Launchpad incorrectly classified this bug as a gnome-terminal bug. It is not a gnome-terminal bug, but I don't know what subsystem it actually resides in (perhaps AccountServices or maybe LightDM). I'm somewhat familiar with Ubuntu's terminal-based world (the classic Unix world), but not at all with the GUI-based code.

L Peter Deutsch (lpd-lp) wrote :

I changed the "Target" to accountsservice since I think that's the most likely location of the bug.

affects: gnome-terminal (Ubuntu) → accountsservice (Ubuntu)
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in accountsservice (Ubuntu):
status: New → Confirmed
Gunnar Hjalmarsson (gunnarhj) wrote :

On 2013-12-02 20:27, L Peter Deutsch wrote:
> I did edit /etc/adduser.conf to limit the range of system user and
> group IDs to 0-199 rather than 0-999, because I'm going to be copying
> a /home hierarchy from an earlier release that used those values and
> all the user IDs I added are in the range 200-999, but unless the
> 0-999 range is hardwired into LightDM or AccountsService or some
> other new piece of system software, this shouldn't cause the users to
> be invisible.

accountsservice only shows users with user ID 1000 and above. Actually, creating users with ID < 1000 is a possible workaround if you *want* them to not be listed on the login screen.

> The system is unusable until I solve it, because none of the real
> users on the system can log in through the initial login screen,

You can configure lightdm so unity-greeter offers the option to type a username that is not listed. In lightdm.conf:

[SeatDefaults]
greeter-show-manual-login=true

L Peter Deutsch (lpd-lp) wrote :

It is a bug that "accountsservice only shows users with user ID 1000 and above." The number 1000 should not be hard-wired: accountsservice should use LAST_SYSTEM_UID in /etc/adduser.conf to determine what UIDs are "user IDs." (In my 50+ years of experience as a system developer, perhaps the single most common source of bugs is design elements that force humans to keep two separate pieces of information consistent manually. IMO, this is a good example.)

Thanks for the tip about lightdm.conf. How could I have found this out on my own? I think I tried "man lightdm" and "info lightdm", but maybe I overlooked it.

Gunnar Hjalmarsson (gunnarhj) wrote :

On 2014-02-05 17:58, L Peter Deutsch wrote:
> Thanks for the tip about lightdm.conf. How could I have found this
> out on my own?

On 13.10 there is the file /usr/share/doc/lightdm/lightdm.conf.gz. If that's not the exact location on 12.04, you can list all the lightdm files via

$ dpkg -L lightdm

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Related questions