ansible/roles/xrdp_apphost/tasks/main.yml
Thomas Basler bd96df2eb0 xrdp_apphost: Add tsadmin user
This user is able to e.g. run graphical installers for estlcam
2022-06-19 21:47:48 +02:00

116 lines
3.3 KiB
YAML

---
- name: Install main dependencies
apt:
name:
- xrdp
- libasound2
- matchbox-window-manager
- name: Configure xrdp.ini
template: src=xrdp.ini.j2 dest=/etc/xrdp/xrdp.ini
notify: Restart xrdp
- name: Configure sesman.ini
template: src=sesman.ini.j2 dest=/etc/xrdp/sesman.ini
notify: Restart xrdp
- name: Create xrdp directory
file: path=/usr/local/share/xrdp/ state=directory mode=0755 owner=root group=root
- name: Copy Binary Kitchen Logo
copy: src={{ xrdp_ls_logo_filename }} dest=/usr/local/share/xrdp/{{ xrdp_ls_logo_filename }}
notify: Restart xrdp
- name: Install samba
apt:
name:
- samba
- name: Configure samba
template:
src: smb.conf.j2
dest: /etc/samba/smb.conf
notify: Reload smbd
- name: Install LightBurn dependencies
apt:
name:
- libpulse-mainloop-glib0
- libnss3
- name: Create LightBurn group
group: name={{ lightburn_group }}
- name: Create LightBurn user
user: name={{ lightburn_user }} password={{ lightburn_pass | password_hash('sha512', lightburn_salt) }} home=/home/{{ lightburn_user }} group={{ lightburn_group }}
- name: Create LightBurn .xsession
template: src=lightburn_xsession.j2 dest=/home/{{ lightburn_user }}/.xsession
- name: Create LightBurn data directory
file: path=/home/{{ lightburn_user }}/data state=directory mode=0755 owner={{ lightburn_user }} group={{ lightburn_group }}
- name: Download LightBurn binary
get_url: url={{ lightburn_url }} dest={{ lightburn_target }} checksum={{ lightburn_checksum }} mode=0755
notify: Install LightBurn
- name: Enable contrib repositories
apt_repository:
repo: deb http://deb.debian.org/debian {{ ansible_distribution_release }} contrib
- name: Add i386 Architecture
command: dpkg --add-architecture i386
args:
creates: /var/lib/dpkg/arch
when: ansible_architecture != 'i386'
register: archrc
- name: Update APT Cache for i386
apt:
update_cache: true
when: archrc is defined and archrc.changed
- name: Install Estlcam dependencies
apt:
name:
- winetricks
- wine32
- xfwm4
- name: Create Estlcam group
group: name={{ estlcam_group }}
- name: Create Estlcam user
user: name={{ estlcam_user }} password={{ estlcam_pass | password_hash('sha512', estlcam_salt) }} home=/home/{{ estlcam_user }} group={{ estlcam_group }}
- name: Create Estlcam .xsession
template: src=estlcam_xsession.j2 dest=/home/{{ estlcam_user }}/.xsession
- name: Create Estlcam data directory
file: path=/home/{{ estlcam_user }}/data state=directory mode=0755 owner={{ estlcam_user }} group={{ estlcam_group }}
- name: Create tsadmin group
group: name={{ tsadmin_group }}
- name: Create tsadmin_user
user: name={{ tsadmin_user }} password={{ tsadmin_pass | password_hash('sha512', tsadmin_salt) }} home=/home/{{ tsadmin_user }} group={{ tsadmin_group }}
- name: Allow 'tsadmin_user' group to have passwordless sudo to other users
lineinfile:
dest: /etc/sudoers
state: present
regexp: '^{{ tsadmin_user }} ALL=({{ item }}) NOPASSWD: ALL'
line: '{{ tsadmin_user }} ALL=({{ item }}) NOPASSWD: ALL'
validate: visudo -cf %s
with_items:
- "{{ estlcam_user }}"
- "{{ lightburn_user }}"
- name: Create tsadmin_user .xsession
template: src=tsadmin_xsession.j2 dest=/home/{{ tsadmin_user }}/.xsession