Advertisement
Guest User

Untitled

a guest
Apr 4th, 2019
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.53 KB | None | 0 0
  1. # ansible-playbook useradd.yml -e user_name=user -i hproduction -l any.host.net
  2. ---
  3. - hosts:
  4. - all
  5. gather_facts: false
  6. become: true
  7.  
  8. # vars:
  9. # user_name: ""
  10. # user_state: ""
  11.  
  12. tasks:
  13. - name: Alter default shell
  14. lineinfile:
  15. dest: /etc/default/useradd
  16. regexp: '^SHELL'
  17. line: 'SHELL=/bin/bash'
  18. tags:
  19. - useradd_system
  20.  
  21. - name: Force home-dir creation
  22. lineinfile:
  23. dest: /etc/login.defs
  24. regexp: '^CREATE_HOME'
  25. line: 'CREATE_HOME yes'
  26. tags:
  27. - useradd_system
  28.  
  29. - name: ssh dir in skeleton
  30. file:
  31. path: /etc/skel/.ssh
  32. state: directory
  33. mode: 0700
  34. tags:
  35. - useradd_system
  36.  
  37. - name: Check if authorized_keys file exists in skeleton
  38. stat:
  39. path: /etc/skel/.ssh/authorized_keys
  40. register: stat_system
  41. tags:
  42. - useradd_system
  43.  
  44. - name: Touch authorized_keys in skeleton
  45. file:
  46. path: /etc/skel/.ssh/authorized_keys
  47. state: touch
  48. mode: 0600
  49. when:
  50. - stat_system.stat.exists == False
  51. tags:
  52. - useradd_system
  53.  
  54. - name: Import SSH data
  55. include_vars:
  56. file: "ssh.yml"
  57. when:
  58. - user_name is defined
  59. tags:
  60. - useradd_user
  61.  
  62. - name: Add user
  63. user:
  64. name: "{{ user_name }}"
  65. shell: /bin/bash
  66. password: "{{ ssh_users[user_name]['pass'] }}"
  67. groups:
  68. - adm
  69. - sudo
  70. when:
  71. - user_name is defined
  72. tags:
  73. - useradd_user
  74.  
  75. - name: Make .ssh dir
  76. file:
  77. path: "/home/{{ user_name }}/.ssh"
  78. owner: "{{ user_name }}"
  79. group: "{{ user_name }}"
  80. state: directory
  81. mode: 0700
  82. when:
  83. - user_name is defined
  84. tags:
  85. - useradd_user
  86.  
  87. - name: Check if authorized_keys file exists
  88. stat:
  89. path: "/home/{{ user_name }}/.ssh/authorized_keys"
  90. register: stat_user
  91. when:
  92. - user_name is defined
  93. tags:
  94. - useradd_user
  95.  
  96. - name: Make authorized_keys file
  97. file:
  98. path: "/home/{{ user_name }}/.ssh/authorized_keys"
  99. owner: "{{ user_name }}"
  100. group: "{{ user_name }}"
  101. state: touch
  102. mode: 0644
  103. when:
  104. - user_name is defined
  105. - stat_user.stat.exists == False
  106. tags:
  107. - useradd_user
  108.  
  109. - name: Upload user key
  110. lineinfile:
  111. dest: "/home/{{ user_name }}/.ssh/authorized_keys"
  112. line: "{{ ssh_users[user_name]['key'] }}"
  113. when:
  114. - user_name is defined
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement