Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # 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
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement