Advertisement
Guest User

Untitled

a guest
Jul 5th, 2017
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.28 KB | None | 0 0
  1. {% for username, details in pillar.get('users', {}).items() if details.absent is not defined or not details.absent %}
  2. {%- if details == None -%}
  3. {%- set details = {} -%}
  4. {%- endif -%}
  5. {%- set user_files = salt['pillar.get'](('users:' ~ username ~ ':user_files'), { 'enabled': False}) -%}
  6. {{ username }}:
  7.  
  8. group:
  9. - present
  10. - name: {{ username }}
  11. - gid: {{ details.get('gid', '') }}
  12.  
  13. user:
  14. - present
  15. - fullname: {{ details.get('fullname','') }}
  16. - name: {{ username }}
  17. - shell: {{ details.get('shell','') }}
  18. - home: /home/{{ username }}
  19. - password: {{ details.get('password','') }}
  20. {% if 'groups' in details %}
  21. - groups:
  22. {% for group in details.get('groups', []) %}
  23. - {{ group }}
  24. {% endfor %}
  25. {% if grains['os_family'] == 'RedHat' or 'Altlinux' or 'Gentoo' %}
  26. - wheel
  27. {% elif grains['os_family'] == 'Debian' or 'Ubuntu' %}
  28. - sudo
  29. {% endif %}
  30. - require:
  31. {% for group in details.get('groups', []) %}
  32. - group: {{ group }}
  33. {% endfor %}
  34. {% endif %}
  35.  
  36. {% if 'pub_ssh_keys' in details %}
  37. ssh_auth:
  38. - present
  39. - user: {{ username }}
  40. - names:
  41. {% for pub_ssh_key in details.get('pub_ssh_keys', []) %}
  42. - {{ pub_ssh_key }}
  43. {% endfor %}
  44. - require:
  45. - user: {{ username }}
  46. {% endif %}
  47.  
  48. {% if user_files.enabled %}
  49. {% if not salt['file.directory_exists' ]('salt://users/files/{{ username }}/.vimrc') %}
  50. vimrc_{{ username }}:
  51. file.managed:
  52. - name: /home/{{ username }}/.vimrc
  53. - source: salt://users/files/{{ username }}/.vimrc
  54. {% endif %}
  55. {% if details['shell'] == '/bin/zsh' %}
  56. oh_my_zsh_{{ username }}:
  57. git.latest:
  58. - name: git://github.com/robbyrussell/oh-my-zsh.git
  59. - target: /home/{{ username }}/.oh-my-zsh
  60. - require:
  61. - user: {{ username }}
  62.  
  63. zsh_config_{{ username }}:
  64. file.managed:
  65. - name: /home/{{ username }}/.zshrc
  66. - source: salt://users/files/{{ username }}/.zshrc
  67. - require:
  68. - user: {{ username }}
  69.  
  70. oh_my_zsh_theme_{{ username }}:
  71. file.managed:
  72. - name: /home/{{ username }}/.oh-my-zsh/themes/xxf.zsh-theme
  73. - source: salt://users/files/{{ username }}/xxf.zsh-theme
  74. - require:
  75. - user: {{ username }}
  76. {% endif %}
  77. {% endif %}
  78. {% endfor %}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement