- make the HostName textbox just a view on the Config's HostName
- make the username and login textboxes view onto Config
- query the Config rather than the UI for job data
- delay construction of the Page (widget) until it's needed
- hand the Config object to the Page on construction
This is prep-work for putting the configuration information into the
Config object, rather than in the UI elements.
- Having the widget do creation ties the step heavily to that UI;
start moving towards a state where we have a Config object (not
here yet; it still queries the UI part) that moves data around
between UI and ViewStep.
- since the wording of the checkbox itself (and the functionality)
is to enforce strong passwords, need to switch out some
logic and fix the wording of the documentation.
- These methods are used for multi-page view-steps, which are rare.
For all the others, just drop the empty implementation and defer
to the base class.
- Add a *userShell* key, which can be left out (default, backwards-
compatible) to retain the old /bin/bash behavior, or explicitly
set to empty to defer to useradd-configuration, or explicitly
set to something non-empty to use that shell.
- Warn here since it may not be what the Distributor want.
Having wrong groups may result in broken permissions for
created user.
- explain what defaultGroups is for in users.conf
- Introduce a map 'passwordRequirements' in users.conf,
which is a list of named requirements. There are only
two settings right now, min and max length, but
additional checks can easily be added in UsersPage.cpp
by defining additional lambda's to check the given
password string.
- Add PasswordCheck instances as needed, with functions
to check acceptability and to produce messages on rejection.
- Documentation in the users.conf file itself.
- In passing, refactor setting of pixmaps on labels.
FIXES#790
Fixes CAL-345.
Changing group of home dir to the default "users" group might be a security risk
because every user which belongs to the default "users" group
might be able to access private data on home dirs of other users.