Bug 958189 - gnome-initial-setup: cannot skip user account creation
Summary: gnome-initial-setup: cannot skip user account creation
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Fedora
Classification: Fedora
Component: gnome-initial-setup
Version: 19
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Jasper St. Pierre
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-04-30 14:35 UTC by Stefan Assmann
Modified: 2018-12-06 15:03 UTC (History)
12 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2013-05-21 19:41:02 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Stefan Assmann 2013-04-30 14:35:55 UTC
Description of problem:
On the "Create a Local Account" page the "Next" button is greyed out if no data has been entered preventing the user to skip creating a local user account. It would be nice to allow the user to skip the account creation if a root password has been set.
Suggestions:
- do not grey out the "Next" button if no data has been entered
- or add a "Skip" button next to the "Back" button

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

How reproducible:
always
  
Actual results:
cannot skip user account creation

Expected results:
ability to skip user account creation if root password has been set

Comment 1 Brian Lane 2013-04-30 16:34:38 UTC
firstboot has been replaced by initial-setup

Comment 2 Adam Williamson 2013-05-21 17:17:55 UTC
Re-assigning to gnome-initial-setup as that appears to be what the OP is describing (and i-s lets you out without creating a user), but I think this should be closed as NOTABUG. We do not want to allow you to skip user creation in a graphical install, as we consider logging into a graphical desktop as root to be ill-advised and dangerous (and in GDM at least, disallowed).

Stefan, did you want to skip it because you need to configure a remote user account?

Comment 3 Stefan Assmann 2013-05-21 17:45:07 UTC
Thanks for the explanation Adam. Are you saying that a graphical install should deny skipping user creation while a text-based installation should allow it?
Even in a graphical install the user might just switch to a terminal and login there.

To answer your question I'd like to skip user creation because I like to login via ssh to do my configuration. It's an extra manual step to do the user creation.
If your intention is to avoid users being unable to login shouldn't a warning in gnome-initial-setup suffice? I'd prefer a way of educating users instead of forcing them to create a user account.

Comment 4 Adam Williamson 2013-05-21 18:14:24 UTC
"Are you saying that a graphical install should deny skipping user creation while a text-based installation should allow it?"

More or less, although mostly I just favour that behaviour because it is what we did prior to F19. firstboot required user creation.

I'd say each of these is a valid option:

i) Force user creation in anaconda
ii) Force user creation in anaconda *or* (gnome-)initial-setup
iii) Allow user creation to be skipped in both anaconda and (gnome-)initial-setup but prominently warn about it

Each approach has various advantages and drawbacks (i is the simplest, ii is what we did historically, and iii is somewhat more flexible than either i or ii for various niche cases like yours).

Currently g-i-s is enforcing ii) while i-s is doing "iv) happily allow you to skip user creation with no warning whatsoever", so we have a problem of consistency here. But I'd say g-i-s' current behaviour is at least in the range of valid policy choices, and the devs may simply say that ii) is what they want and close this...

Comment 5 Adam Williamson 2013-05-21 18:18:28 UTC
Whoops, I mis-remembered what firstboot did. It does iii) , not ii) . So g-i-s' behaviour is a change from F18 and all previous releases.

Comment 6 Matthias Clasen 2013-05-21 19:41:02 UTC
I does not make any sense to skip user account creating in gnome-initial-setup (unless you already have an account and run g-i-s in the session) - g-i-s is all about configuring a user account for use with GNOME.

Comment 7 Adam Williamson 2013-05-21 21:38:28 UTC
There are users who want to do an install without creating a user account. As GNOME is Fedora's default desktop, g-i-s behaving in this way prevents them from doing so with our default package loadout and main official live image. Not everyone who sees g-i-s from a Fedora install is primarily a "GNOME user".

I don't want to get too far involved in this argument, but I'd at least like you to take a look at this from the 'Fedora distribution' perspective as well as the 'GNOME desktop' perspective.

See Simo Sorce's mails in the "Possible alternative behaviours for user creation at install time (was Re: anaconda / initial-setup / gnome-initial-setup: can we do this better?)" thread on devel@, for instance.

Comment 8 Simo Sorce 2013-05-21 21:46:13 UTC
Indeed I use Gnome, but my accounts are in an external systems, so I do my install skipping the accoutn creation and then login on a console as root to do the initial setup (basically ipa-client-install) before logging in as any user graphically.

I would like to be able to keep doing that, having to create a user and then immediately delete it as the first thing is bogus, especially i g-i-s ends up attaching some special meaning to the 'first' user.

Comment 9 Matthias Clasen 2013-05-22 01:54:20 UTC
g-i-s doesn't attach any more special meaning to the first user than anaconda does.

I don't think anything prevents you from booting in runlevel 3 and running ipa-client-install (even though I think that realmd should be able to let you do this during the account creation step in g-i-s - it sounds very much like the equivalent of enrolling in an AD domain).

We may have to teach gdm that a machine that is enrolled (in AD or IPA) has users, so we don't run g-i-s, but until then, it should be enough to set InitialSetupEnable=False in /etc/gdm/custom.conf to ensure you get a regular login screen.

Comment 10 Adam Williamson 2013-05-22 02:54:10 UTC
"g-i-s doesn't attach any more special meaning to the first user than anaconda does"

just to give some details on that, there is a small difference between anaconda/i-s and g-i-s.

g-i-s creates an admin user account. An 'admin' user is basically just one who's a member of the 'wheel' group; this has specific meaning for sudo (can run any command via sudo) and PolicyKit (can do admin actions with their own password rather than the root password).

anaconda/i-s gives you an option whether to create an 'admin' or regular user. IIRC it defaults to 'regular'.

Comment 11 Stefan Assmann 2013-05-22 17:42:56 UTC
Sorry, bit confused now. I'm not that deep into i-s or g-i-s. Is g-i-s run for all installations or just for gnome installations?

Matthias, not sure I understand the reason why local user creation shouldn't be skippable during installation. I thought g-i-s/i-s whatever it is called is supposed to setup the keyboard, language, timezone, etc. What's the reason for not having user creation optional?

Comment 12 Adam Williamson 2013-05-22 18:52:00 UTC
Stefan: it's not surprising that you're confused. it's confusing. :)

g-i-s only runs on GNOME installs. Other desktops use i-s. i-s is the successor to firstboot which is owned by the anaconda team; it's basically just a wrapper around anaconda spokes, it re-uses the spoke code from anaconda.

g-i-s is GNOME's own 'first time setup' thingy, completely different code from i-s, it lives in upstream GNOME git. It behaves how upstream GNOME wants it to behave.

g-i-s has two modes: one where it runs prior to GDM, and one where it runs after user login.

As things stand in F19, if you do a GNOME install, you get two shots at user creation. You can do it in anaconda, where it's optional, and you can pick between admin or non-admin user. If you create a user during anaconda, then when you boot the installed system, you will go first to GDM where you will log in, then you will see the 'after user login' form of g-i-s, which lets you set the locale, input methods, timezone and accounts for _that user account_, but obviously doesn't offer any form of user creation.

If you don't create a user during anaconda, then when you boot the installed system, you will see the 'prior to GDM' mode of g-i-s, which offers all of the above plus user creation. I am not quite sure whether it applies the timezone, input methods etc that you select as systemwide defaults, or just applies them as the preferences of the user account it creates.

At present, user creation is mandatory in the 'prior to GDM' mode of g-i-s. This means effectively that you can't skip user creation on a GNOME install of F19 without hacking things up as mclasen described above.

I won't bother describing i-s' current behaviour as it's a) insane and b) not relevant to GNOME installs, but to summarize, 'it's different'.

Comment 13 Stefan Assmann 2013-05-22 19:23:09 UTC
Adam, thanks for detailed explanation. Things start to make sense now. I'll have to go through the installation with the knowledge I gained now to make sure I'm not making false claims. Unfortunately I'm currently travelling which makes things a bit more difficult, but I'm going to follow up on this once I'm back home. Thanks a lot.

Comment 14 Stefan Assmann 2013-05-29 11:14:08 UTC
Okay I looked at this again and the point where I can't skip the user creation really is g-i-s.
Matthias, could you explain why you're against being able to skip user creation in g-i-s? I'd really appreciate the feature. Thanks!

Comment 15 Andrew McNabb 2013-06-04 16:30:19 UTC
I haven't had a chance to try the Fedora 19 beta yet, so I don't have a good sense of how this new stuff works.

If I install Fedora with all of the defaults in Anaconda, am I going to be forced to run g-i-s? Is this skippable or easily disableable? In the past, there have occasionally been changes where firstboot was hard to skip, and this was an annoying inconvenience for me. It's also been annoying that there have been several changes in the mechanism required to disable firstboot in systemctl.

All I need is an easy way to skip out of and disable any firstboot-like tools and to not be forced to create a user in Anaconda.

Comment 16 Adam Williamson 2013-06-04 16:34:21 UTC
If you do a default install - i.e. a GNOME install - g-i-s will be included and will run on first boot. You can bypass it in a few ways: as per comment #9, you could do your first boot to the console (multi-user.target / 'runlevel 3'), log in as root, put that line in /etc/gdm/custom.conf and then boot to graphical mode; g-i-s should be bypassed.

You could also use a kickstart to remove g-i-s from the deployed package set.

Comment 17 David Mansfield 2013-08-28 15:47:25 UTC
would it be considered a bug if (and when!):

1) a "testuser" account was created during anaconda
2) system configured to use winbind using authconfig-gtk
3) "testuser" removed
4) g-i-s now runs and prevents logging into the system unless a local user is created


Note You need to log in before you can comment on or make changes to this bug.