Commit Graph

197 Commits

Author SHA1 Message Date
Raphaël Hertzog
43c4707d2a Do not try to run git config when git is not available
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.
2018-02-23 15:51:34 +01:00
Konstantin Nikolaev
1dfef11303 Support "salt://path_to_keyname" ssh_key definition in users."user name".ssh_keys."privkey|pubkey" pillar data 2018-02-14 13:08:09 +07:00
Karsten Kosmala
fdc5ceae2c Use correct pillar to set users homephone 2017-12-03 14:46:52 +01:00
Niels Abspoel
a4c1e98a55 Merge pull request #133 from luitzifa/multiple-key-support
add support for multiple private and public keys
2017-09-28 12:50:56 +02:00
Daniel Kraemer
d8d2017629 adjust file permissions of public ssh-keys 2017-09-28 08:22:25 +02:00
Daniel Kraemer
c78516f8e0 i don't know what made me do this, maybe brainlag 2017-09-26 14:49:45 +02:00
Silvio Kunaschk
ac1f334a43 corrected saltversioninfo check expression 2017-09-24 12:16:43 +02:00
Jerry van Leeuwen
6993e2398f Broken conditional and lack of line spacing 2017-09-22 15:01:25 -07:00
Niels Abspoel
e5e9cd8fcf Merge pull request #156 from qno/master
fixed insertion of multiple authorized keys via ssh_auth_pillar
2017-09-22 20:03:40 +02:00
Jerry van Leeuwen
4da9b00e75 Add 'template' support to 'user_files' (#159)
* Add support for 'template' in 'user_files'

* Fix-up wrong nesting level for template value

* Small quality improvement for push upstream.

* Consistency improvement for variable name
2017-09-22 13:30:29 +10:00
Jerzy Drozdz
72ef35fdfa Added sudoonly switch. Usage implies setting sudouser to True 2017-08-07 00:14:53 +02:00
Niels Abspoel
e03458bb31 Merge pull request #143 from hatifnatt/dev
Add ability to specify mode for files and symlinks in user_files
2017-07-27 20:01:16 +02:00
Hatifnatt
335bc31095 'None' works in an unexpected way. Reverting back to 'False'.
This reverts commit 48416398e3.
2017-07-27 16:31:24 +03:00
Hatifnatt
48416398e3 Change False to None in user_files to be closer to Salt default values. 2017-07-27 04:37:18 +03:00
Niels Abspoel
f823544388 Merge pull request #158 from garethhowell/master
Added Solaris
2017-07-26 23:29:13 +02:00
Niels Abspoel
bac9fdfaeb Merge pull request #155 from ashokrajar/master
Fixing a bug introduced in my previous commit
2017-07-16 20:12:46 +02:00
Alexander Weidinger
3320299e70 (Re-)enable pillar users-formula:lookup 2017-07-12 11:47:06 +02:00
Silvio Kunaschk
23c5df2130 fixed insertion of multiple authorized keys via ssh_auth_pillar 2017-07-09 16:06:17 +02:00
Ashok Raja R
8f4bbf58f1 Fixing Conflicting ID
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.
2017-07-07 22:51:48 +05:30
Ashok Raja
9c6e829e1e Replace periods in username with underscores
Fixing the conflict and sending a new pull request

Fixes #118
Duplicate of #120
2017-06-16 13:18:18 +05:30
Toby Brain
7c67d72ef0 Add ability to use templated user files 2017-06-13 14:35:50 -07:00
Niels Abspoel
c76173753c Merge pull request #146 from M2Mobi/bashrc
Add support for jinja code in bashrc files.
2017-06-13 22:47:42 +02:00
Ashok Raja
29d7176040 Add support for ssh_auth_sources.absent
Fixes: 150
2017-06-12 16:50:12 +05:30
Gareth Howell
e9ef940967 Added Solaris 2017-06-05 14:41:53 +01:00
Damien Tardy-Panis
4042641c09 Add support for jinja code in bashrc files. 2017-05-09 09:53:05 +02:00
Arthur
e486032283 not more need for homedir, if not needed 2017-04-25 19:29:00 +02:00
Arthur
694fd0de6d added feature to create groups and set their gid 2017-04-18 19:57:18 +02:00
Hatifnatt
33287f650f Add ability to specify mode for files and symlinks in user_files 2017-03-23 12:27:32 +03:00
Maximilian Zettler
e1d0de230d make AdminIdentity configureable per user 2017-02-02 23:12:15 +01:00
Maximilian Zettler
8c6bbafd9b add ability to configure prime_group without gid (#141)
* add ability to configure prime_group without gid
2017-02-02 21:03:36 +00:00
Sonia Hamilton
e81f6e695c temp fix on git executable 2016-12-08 03:29:03 +00:00
Fabian Niepelt
153d07452c Add support for hash_password 2016-12-01 16:59:51 +01:00
Matthias Nüssle
0d7ca5728c fix wrong variable name in absent_users 2016-11-30 16:33:38 +01:00
Karsten Kosmala
5985275022 Merge branch 'master' of https://github.com/saltstack-formulas/users-formula 2016-11-29 16:15:16 +01:00
Daniel Kraemer
34328aff1c add support for multiple private and public keys 2016-10-04 20:53:01 +02:00
Niels Abspoel
15ce6493cc fix warning on managed file state for /etc/sudoers.d/username 2016-08-30 17:36:29 +02:00
Eric Veiras Galisson
57fce16643 fixing removing of users based on pillar['absent_users'], fix #126 2016-08-10 10:32:46 +02:00
jraby
5538eb18ab Support for optional_groups 2016-08-05 14:05:12 -04:00
Wolodja Wentland
4caa3f8d4b Merge pull request #121 from tomduijf/master
Keep existing user's home and shell unless explicitly defined
2016-07-04 19:34:25 +02:00
Imran Iqbal
b94514529d Display "managed by Salt" header in user sudoers files 2016-07-03 16:38:02 +01:00
Imran Iqbal
984317fca1 Use contents_pillar to work with multiple-line authorized_keys file 2016-07-03 16:36:07 +01:00
adnanJP
8aa062c08e Properly handle dependencies on ssh_auth when home is not create with the formula. 2016-07-01 08:20:20 +02:00
Tom Duijf
5cd73534ad Updated remaining files to retain home dir existing user 2016-06-23 21:43:01 +02:00
Tom Duijf
2ac21426af use already available home variable for user's ssh-key configuration 2016-06-23 21:19:17 +02:00
Raphaël Hertzog
cf122d1bd6 Create a system usergroup if user is a system user
If the user to be created is a system user, it makes no sense to create
him a primary group which is not a system group too.
2016-06-22 12:08:39 +02:00
Karsten Kosmala
c9fecc1d96 renamed variables 2016-06-13 17:24:43 +02:00
Karsten Kosmala
fa02b954a5 set user and group of user dir in pillar 2016-06-13 17:24:43 +02:00
Imran Iqbal
846634bfd7 Resolve git.config error where minion does not have Git installed #115 2016-06-09 09:13:32 +01:00
Roman
4b1432fa92 Merge pull request #8 from hatifnatt/master
Pull changes from master
2016-06-02 16:50:13 +03:00
Roman
39bf6aa207 Merge pull request #7 from saltstack-formulas/master
Pull changes from main repo.
2016-06-02 16:49:04 +03:00
Forrest
b7370f7dfb Revert "User files state without defined home directory" 2016-05-12 11:18:44 -07:00
Peter Hadadi
dd27842da3 User files state without defined home directory 2016-03-10 21:47:19 +01:00
Ion Dulgheru
78914053ae also load ssh keys from pillar data 2016-02-02 15:58:39 +02:00
Roman
c2abcabb7e Merge pull request #6 from hatifnatt/master
Pull changes from main repo.
2015-12-25 00:52:54 +03:00
Roman
6e3c771b52 Merge pull request #5 from saltstack-formulas/master
Pull changes from main repo.
2015-12-25 00:50:58 +03:00
Leif Ringstad
90021bf848 Use the primary group for the user when creating authorized_keys
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
2015-12-15 21:21:00 +01:00
root
3760fea1f5 Mitigate Salt issue #29004, fixes "expire" on *BSD
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)
2015-11-18 16:13:55 +01:00
Forrest
76f646ec06 Merge pull request #87 from smlloyd/master
Don't add sudo group by default.
2015-11-13 12:35:08 -08:00
Roman
c05d2e635b Update user_files.sls
Default path for home folder in user_files.sls if home omitted in pillar.
2015-11-12 20:53:07 +03:00
Roman
2763338abe Update user_files.sls
Fix for:
Rendering SLS 'base:users.user_files' failed: Jinja variable 'dict object' has no attribute 'home'
2015-11-09 02:31:45 +03:00
outime
965372d0d2 Changed 'empty_password' key retrieval method 2015-09-27 18:59:09 +02:00
outime
441d3cb635 Fixed typo and 'empty_password' key check 2015-09-27 17:46:29 +02:00
outime
851a59e952 Adds 'empty_password' statement for states.user.present 2015-09-27 16:20:45 +02:00
Serg Kand
819d73a596 changing visudo checking to avoid wrong reporting when launched with test=true 2015-09-20 16:21:34 +03:00
Heinz Wiesinger
221f1ccef4 Fix minor bug for ssh known_hosts management with salt >= 2015.5.5.
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.
2015-09-17 10:04:38 +02:00
maschinetheist
f087f165f3 Added ability to specify room number, home phone, and work phone as per https://docs.saltstack.com/en/develop/ref/states/all/salt.states.user.html 2015-09-12 16:22:42 -05:00
Heinz Wiesinger
452b8ee8cf Add possibility to manage the user's global git configuration. 2015-09-11 13:25:19 +02:00
Heinz Wiesinger
74d5f6cc3c Add possibility to manage ssh's known_hosts file. 2015-08-28 11:49:38 +02:00
Shane Poage
b986e1e7f2 Skips user if it's enabled without a specified source, and their directory does not exist. 2015-08-21 20:03:20 -05:00
Shane Poage
cdb862e968 Added feature to allow syncing arbitrary sets of files per user. 2015-08-21 15:42:25 -05:00
Shane Poage
a0d7d9fa6e Fixed indentation in key contents for authorized_keys 2015-08-21 11:20:07 -05:00
Shane Poage
ff189c1613 Added ability to provide pillar path for ssh_auth. 2015-08-21 05:17:49 -05:00
Florian Ermisch
99a1a66010 break some of those horribly long lines
sry, could not resist.
2015-08-18 16:27:25 +02:00
Florian Ermisch
17cc04c041 iteritems() -> items() for python3 2015-08-18 16:12:36 +02:00
Simon Lloyd
60e94564d1 Don't add sudo group by default.
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.
2015-08-13 23:57:09 +02:00
Andres Montalban
750f2e6345 Add support for .profile file 2015-08-09 13:59:51 -03:00
Thibault Cohen
3df9d8ae21 Add missing ssh_config test to create .ssh folder 2015-08-04 01:08:28 -04:00
puneet kandhari
ba11c68c24 Revert "@XenophonF made me do it"
This reverts commit a0392693e3.
2015-07-27 12:50:49 -05:00
puneet kandhari
a0392693e3 @XenophonF made me do it 2015-07-27 12:45:56 -05:00
Matthew X. Economou
c201269d1d Do not escape value of enforce_password
Fixes #82.
2015-07-27 11:13:11 -04:00
puneet kandhari
0e72cc20b9 Merge pull request #77 from irtnog/add-managed-file-permissions-to-ssh_keys_pillar-states
Rework ssh_keys_pillar-related states
2015-07-25 15:32:33 -05:00
Seth Miller
7dca1ebfd2 Adding support for the enforce_password option.
This will allow users change their passwords after the initial setting in Salt.
2015-07-17 10:18:38 -05:00
Cole Kowalski
7dda5571db the user's .ssh directory should be created if ssh_auth_file is supplied 2015-07-16 15:23:43 -04:00
Matthew X. Economou
2f4c088e5d Rework ssh_keys_pillar-related states
SSH key pairs deployed via the user's ssh_keys_pillar dict aren't
handled the same as the user's ssh_keys, e.g., file ownership and
permissions aren't specified, and the keying material gets copied
directly into the SLS file.  This change rewrites the two templated
file.managed states to behave as follows:

  - set the files' owner to be the user

  - set the files' group to be the user's primary group

  - for the public key, set the mode to 644 (u=rw,go=r)

  - for the private key, set the mode to 600 (u=rw,g=)

  - pull the files' contents directly from pillar
2015-07-13 15:22:45 -04:00
René Jochum
a1d6591447 Fix users/init.sls.
Signed-off-by: René Jochum <rene@jochums.at>
2015-07-13 13:51:02 +02:00
René Jochum
2c4ed3edc9 Merge branch 'master' of github.com:pcdummy/saltstack-users-formula
Signed-off-by: René Jochum <rene@jochums.at>

Conflicts:
	pillar.example
	users/init.sls
2015-07-13 13:27:27 +02:00
René Jochum
00cc889683 Fix some smaller bugs.
Signed-off-by: René Jochum <rene@jochums.at>
2015-07-11 10:35:15 +02:00
Bohdan Kmit
d0bbbda8aa readd 2fa pam enforcement 2015-07-01 19:15:31 +03:00
Bohdan Kmit
a467d2a80f fix permission of GA config file 2015-07-01 18:39:53 +03:00
Niels Abspoel
622b846d7f Enable/disable bashrc/vimrc per user
Made both states configurable per user in pillar data
Had to drop extend, for this otherwise the extend would be empty if manage is
False
2015-06-11 23:34:16 +02:00
Niels Abspoel
b4acac9de7 Added vimrc extension to users-formula
This will ensure that a given vimrc file in a users home dir is managed
Default it will search for a vimrc in salt://users/files/vimrc/{{ username
}}/vimrc
If this isn't found it will install salt://users/files/vimrc/vimrc
2015-06-10 22:56:57 +02:00
Niels Abspoel
eac091bf66 fix sources to source 2015-06-10 22:03:26 +02:00
Niels Abspoel
29ce431151 Added bashrc extension to users-formula
This will ensure a given bashrc file in a users home dir.
Default it will search for a bashrc in salt://users/files/bashrc/{{ username }}/bashrc
If no file is found it will install the default from
salt://users/files/bashrc/bashrc
2015-06-10 21:40:52 +02:00
Sander Klein
3a8d72b947 Add "Do Not Edit" part 2015-05-16 09:56:20 +02:00
Sander Klein
57c82f3324 Add ~/.ssh/config management
This adds the ability to manage the ~/.ssh/config file for users.
2015-05-15 21:47:40 +02:00
Florian Bittner
701326e23f Add prefix 'users_' to all first level keys to prevent duplicate ids (e.g. in combination with zabbix-formula and key zabbis_user). 2015-05-07 00:07:06 +02:00
Alex Ciobica
031d6ce81f Add pulling keys from other pillar.
Example pillar:

ssh_keys:
  id_rsa:
    privkey: |
      -----BEGIN RSA PRIVATE KEY-----
      MIIEowIBAAKCAQEAoQiwO3JhBquPAalQF9qP1lLZNXVjYMIswrMe2HcWUVBgh+vY
      U7sCwx/dH6+VvNwmCoqmNnP+8gTPKGl1vgAObJAnMT623dMXjVKwnEagZPRJIxDy
      B/HaAre9euNiY3LvIzBTWRSeMfT+rWvIKVBpvwlgGrfgz70m0pqxu+UyFbAGLin+
      GpxzZAMaFpZw4sSbIlRuissXZj/sHpQb8p9M5IeO4Z3rjkCP1cxI
      -----END RSA PRIVATE KEY-----
    pubkey: |
      ssh-rsa MIIEowIBAAKCAQEAoQiwO3JhBquPAalQF9qP1lLZNXVjYMIswrMe2H....
2015-05-01 18:48:28 +03:00
tiger-seo
1546e2d186 possibility to define user-specific Defaults 2015-04-06 22:34:59 +03:00
Andrew Vant
1f80412da8 Added option to source ssh public keys from files. 2015-04-02 13:01:30 -04:00
root
d416b6d839 Move ssh_auth_file key processing to before ssh_auth key to extend instead of overwrite functionality. 2015-03-13 13:32:39 +01:00