92 lines
2.5 KiB
YAML
92 lines
2.5 KiB
YAML
---
|
|
- name: Update default user, belonging to sudo group
|
|
user:
|
|
name: "{{default_username}}"
|
|
password: "{{default_password | password_hash('sha512')}}"
|
|
groups: sudo
|
|
create_home: yes
|
|
shell: /bin/bash
|
|
generate_ssh_key: yes
|
|
ssh_key_bits: 2048
|
|
ssh_key_file: .ssh/id_rsa
|
|
update_password: always
|
|
state: present
|
|
|
|
- name: Ensure sudo group has sudo privileges without password
|
|
lineinfile:
|
|
dest: /etc/sudoers
|
|
state: present
|
|
regexp: "^%sudo"
|
|
line: "%sudo ALL=(ALL) NOPASSWD:ALL"
|
|
validate: "/usr/sbin/visudo -cf %s"
|
|
|
|
# copy local files to remote
|
|
- name: Install .forward file in users' folders
|
|
template:
|
|
src: dot.forward.j2
|
|
dest: "{{item}}/.forward"
|
|
owner: "{{default_username}}"
|
|
group: "{{default_username}}"
|
|
with_items:
|
|
- "/root"
|
|
- "/home/{{default_username}}"
|
|
|
|
- name: Clone dotfiles repository
|
|
become_user: "{{item.user}}"
|
|
git:
|
|
repo: "https://github.com/olivomarco/dotfiles.git"
|
|
version: master
|
|
dest: "{{item.path}}"
|
|
accept_hostkey: yes
|
|
clone: yes
|
|
update: yes
|
|
with_items:
|
|
- {user: "{{default_username}}", path: "/home/{{default_username}}/dotfiles"}
|
|
- {user: "root", path: "/root/dotfiles"}
|
|
|
|
# - name: Run dotfiles/setup/setup-user.sh for {{item.user}}
|
|
# become_user: "{{item.user}}"
|
|
# shell: "{{item.path}}/setup/setup-user.sh"
|
|
# with_items:
|
|
# - {user: "{{default_username}}", path: "/home/{{default_username}}/dotfiles"}
|
|
# - {user: "root", path: "/root/dotfiles"}
|
|
|
|
- name: Change owner of dotfiles in {{default_username}} folder
|
|
file:
|
|
path: "/home/{{default_username}}/dotfiles"
|
|
owner: "{{default_username}}"
|
|
group: "{{default_username}}"
|
|
recurse: yes
|
|
|
|
# other setup
|
|
- name: Assign public ssh key to a variable
|
|
shell: cat /home/{{default_username}}/{{public_key}}
|
|
register: ssh_public_key
|
|
|
|
- name: Add default username's public SSH key to its authorized_keys file
|
|
lineinfile:
|
|
dest: "/home/{{default_username}}/.ssh/authorized_keys"
|
|
line: "{{ssh_public_key.stdout}}"
|
|
state: present
|
|
create: yes
|
|
|
|
- name: Change root password
|
|
user:
|
|
name: root
|
|
password: "{{root_password | password_hash('sha512')}}"
|
|
update_password: always
|
|
|
|
- name: chsh to /usr/bin/zsh for default user and root
|
|
user:
|
|
name: "{{item}}"
|
|
shell: /usr/bin/zsh
|
|
with_items:
|
|
- "{{default_username}}"
|
|
- "root"
|
|
|
|
- debug:
|
|
msg: "user '{{default_username}}' generated password: {{default_password}}"
|
|
|
|
- debug:
|
|
msg: "user 'root' generated password: {{root_password}}"
|