Adding initial files

This commit is contained in:
2021-02-28 21:30:03 +00:00
parent 7acac96910
commit 63657fbe47
30 changed files with 930 additions and 0 deletions

91
roles/user/tasks/main.yml Normal file
View File

@@ -0,0 +1,91 @@
---
- 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}}"

View File

@@ -0,0 +1 @@
{{dot_forward_email}}