Guest User

Untitled

a guest
Jun 21st, 2015
209
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.15 KB | None | 0 0
  1. $ cat defaults/main.yml
  2. authorized_keys: /etc/ssh/authorized_keys
  3. users:
  4. - name: root
  5. pass: passwordhash
  6. ugid: 0
  7. pubkeys:
  8. - key1
  9. - key2
  10. - name: user1
  11. ugid: 1000
  12. pubkeys:
  13. - key1
  14. - key2
  15.  
  16. -----
  17. $ cat tasks/main.yml
  18. ---
  19. - name: group | {{ item.name }}
  20. group: >
  21. name={{ item.name }}
  22. gid={{ item.ugid }}
  23. state=present
  24. with_items: users
  25.  
  26. - name: user | {{ item.name }}
  27. user: >
  28. name={{ item.name }}
  29. uid={{ item.ugid }}
  30. group={{ item.name }}
  31. password={{ item.pass | default('!!') }}
  32. comment={{ item.name }}
  33. shell={{ item.shell | default('/bin/bash') }}
  34. state=present
  35. with_items: users
  36.  
  37. - name: file | {{ authorized_keys }}
  38. file: >
  39. path={{ authorized_keys }}
  40. state=directory
  41. mode=0755
  42.  
  43. - name: template | {{ item.name }}
  44. template: >
  45. src=authorized_keys.j2
  46. dest={{ authorized_keys }}/{{ item.name }}
  47. owner=root
  48. group=root
  49. mode=0644
  50. with_items: users
  51.  
  52. -----
  53. $ cat templates/authorized_keys.j2
  54. {% for user in item.pubkeys %}
  55. environment="GECOS={{ user }}" {{ lookup('file', user + '.pub') }}
  56. {% endfor %}
Advertisement
Add Comment
Please, Sign In to add comment