Since https://github.com/saltstack-formulas/users-formula/pull/182 the
home directory was created by salt which prevent "adduser" behavior to
copy /etc/skel in newly created directory.
Ensure the parent directory of the home dir is existing instead.
The state will not fail gracefully, instead you will get
an error like this one:
ID: users_rhertzog_user_gitconfig_0
Function: git.config_set
Name: alias.br
Result: False
Comment: State 'git.config_set' was not found in SLS 'users'
Reason: 'git' __virtual__ returned False
Changes:
And since pillar data can't be (easily) tuned according to minion's
status, we really need this check here.
My tests with Salt 2017.7.3 have shown that cmd.has_exec() is reliable
for this, contrary the what the comment was implying.
Fixing my previous change which errors in a particular scenario.
Error: Conflicting ID 'users_ssh_auth_source_username_0' when keys are added and removed simultaneously.
If a primary group is set on the user, and a authorized_keys is provied in ssh_auth_file, the formula fails. This solves that by using the user_group set earlier in the formula
Unreasonable values for 'expire' (after 9999-12-31
on Linux, before 1975-01-01 on *BSD) get divided
by 86400 (number of seconds in a day) when too big
or multiplied by 86400 when too small.
Tested on CentOS 6 (Salt 2015.5.5) and FreeBSD 10.2
(Salt 2015.8.0) with following values:
- 24854 (2038-01-18 in days since epoch)
- 157766400 (1975-01-01 00:00:00 UTC in seconds since epoch)
- 3313526400 (2075-01-01 00:00:00 UTC in seconds since epoch)
- 16000 (2013-10-22 in days since epoch)
- 18000 (2019-04-14 in days since epoch)
(Sponsored by av.tu-berlin.de and fokus.fraunhofer.de)
This version complains that "argument port can not be used in
conjunction with argument hash_hostname", so add hash_hostname
to the fields we handle in the formula so we can override it
if needed.
This formula doesn't really require the sudo group (unless
there are actually users in that group). Moreover, on FreeBSD
the 'admin' group would be wheel and not sudo.