freebsd-home-server/doctor.user.yml

103 lines
2.3 KiB
YAML

- name: Adjust user
user:
name: "{{ user }}"
groups: ["{{ user }}", wheel]
shell: /usr/local/bin/bash
state: present
- name: Adjust sudoers
copy:
src: "files/etc.sudoers.d.{{ user }}"
dest: "/usr/local/etc/sudoers.d/{{ user }}"
owner: root
group: wheel
mode: 0640
- name: Create ~/.ssh
file:
name: "/usr/home/{{ user }}/.ssh"
state: directory
owner: "{{ user }}"
group: "{{ user }}"
mode: 0750
- name: Install authorized_keys
copy:
src: "files/{{ user }}.ssh.authorized_keys"
dest: "/usr/home/{{ user }}/.ssh/authorized_keys"
owner: "{{ user }}"
group: "{{ user }}"
mode: 0600
- name: Install user ssh-config
copy:
src: "files/{{ user }}.ssh.config"
dest: "/usr/home/{{ user }}/.ssh/config"
owner: "{{ user }}"
group: "{{ user }}"
mode: 0600
- name: Install user known_hosts
copy:
src: "files/{{ user }}.ssh.known_hosts"
dest: "/usr/home/{{ user }}/.ssh/known_hosts"
owner: "{{ user }}"
group: "{{ user }}"
mode: 0600
- name: Create git dirs
file:
path: "/usr/home/{{ user }}/git/github.com"
state: directory
owner: "{{ user }}"
group: "{{ user }}"
register: git
- name: Clone git-bash-prompt
git:
repo: https://github.com/magicmonty/bash-git-prompt.git
dest: "/usr/home/{{ user }}/git/github.com/bash-git-prompt"
version: "{{ git_bash_prompt_version }}"
register: git
- name: Reset permissions git
file:
path: "/usr/home/{{ user }}/git"
state: directory
owner: "{{ user }}"
group: "{{ user }}"
recurse: yes
when: git.changed
- name: Install user bashrc
copy:
src: "files/{{ user }}.bashrc"
dest: "/usr/home/{{ user }}/.bashrc"
owner: "{{ user }}"
group: "{{ user }}"
- name: Install user vimrc
copy:
src: "files/{{ user }}.vimrc"
dest: "/usr/home/{{ user }}/.vimrc"
owner: "{{ user }}"
group: "{{ user }}"
- name: Create ssh-keys
command: "ssh-keygen -t {{ item }} -b 4096 -N '' -f /usr/home/{{ user }}/.ssh/id_{{ item }}"
args:
creates: "/usr/home/{{ user }}/.ssh/id_{{ item }}"
with_items:
- rsa
- ed25519
register: sshkeys
- name: Reset permissions ssh
file:
path: "/usr/home/{{ user }}/.ssh"
state: directory
owner: "{{ user }}"
group: "{{ user }}"
recurse: yes
when: sshkeys.changed