Created
March 27, 2019 08:07
-
-
Save Kami-no/57e7e5ba6d1d49a314b17f05467629bb to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# ansible-playbook useradd.yml -e user_name=user -i hproduction -l any.host.net | |
--- | |
- hosts: | |
- all | |
gather_facts: false | |
become: true | |
# vars: | |
# user_name: "" | |
# user_state: "" | |
tasks: | |
- name: Alter default shell | |
lineinfile: | |
dest: /etc/default/useradd | |
regexp: '^SHELL' | |
line: 'SHELL=/bin/bash' | |
tags: | |
- useradd_system | |
- name: Force home-dir creation | |
lineinfile: | |
dest: /etc/login.defs | |
regexp: '^CREATE_HOME' | |
line: 'CREATE_HOME yes' | |
tags: | |
- useradd_system | |
- name: ssh dir in skeleton | |
file: | |
path: /etc/skel/.ssh | |
state: directory | |
mode: 0700 | |
tags: | |
- useradd_system | |
- name: Check if authorized_keys file exists in skeleton | |
stat: | |
path: /etc/skel/.ssh/authorized_keys | |
register: stat_system | |
tags: | |
- useradd_system | |
- name: Touch authorized_keys in skeleton | |
file: | |
path: /etc/skel/.ssh/authorized_keys | |
state: touch | |
mode: 0600 | |
when: | |
- stat_system.stat.exists == False | |
tags: | |
- useradd_system | |
- name: Import SSH data | |
include_vars: | |
file: "ssh.yml" | |
when: | |
- user_name is defined | |
tags: | |
- useradd_user | |
- name: Add user | |
user: | |
name: "{{ user_name }}" | |
shell: /bin/bash | |
password: "{{ ssh_users[user_name]['pass'] }}" | |
groups: | |
- adm | |
- sudo | |
when: | |
- user_name is defined | |
tags: | |
- useradd_user | |
- name: Make .ssh dir | |
file: | |
path: "/home/{{ user_name }}/.ssh" | |
owner: "{{ user_name }}" | |
group: "{{ user_name }}" | |
state: directory | |
mode: 0700 | |
when: | |
- user_name is defined | |
tags: | |
- useradd_user | |
- name: Check if authorized_keys file exists | |
stat: | |
path: "/home/{{ user_name }}/.ssh/authorized_keys" | |
register: stat_user | |
when: | |
- user_name is defined | |
tags: | |
- useradd_user | |
- name: Make authorized_keys file | |
file: | |
path: "/home/{{ user_name }}/.ssh/authorized_keys" | |
owner: "{{ user_name }}" | |
group: "{{ user_name }}" | |
state: touch | |
mode: 0644 | |
when: | |
- user_name is defined | |
- stat_user.stat.exists == False | |
tags: | |
- useradd_user | |
- name: Upload user key | |
lineinfile: | |
dest: "/home/{{ user_name }}/.ssh/authorized_keys" | |
line: "{{ ssh_users[user_name]['key'] }}" | |
when: | |
- user_name is defined |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment