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