commit b1bb0925c78b7bc6c801ac3a16a09d66bf1b8f65 Author: Badanin Maksim Date: Fri Jun 9 11:28:14 2023 +0300 multiple user - doesn`t work diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..426e7ce --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +inventory/*.yml +inventory/*.yaml + diff --git a/README.md b/README.md new file mode 100644 index 0000000..c324661 --- /dev/null +++ b/README.md @@ -0,0 +1,29 @@ +# Базовая настройка Debian дистрибутива + +Производится: + +- настройка локализации +- установка обновлений +- настройка часового пояса +- отключение ipv6 + +## Использование + +#### Установка ролей: + +``` +ansible-galaxy install -r requirements.yml +``` + +Изменение переменных производится в *group_vars* или *host_vars*: + +```yaml +debian_timezone: "Europe/Moscow" # Часовой пояс +debian_language: "en_US" # Язык системы +debian_language_options: "ru_RU" # Языковые опции +debian_language_init: "en_US.UTF-8, ru_RU.UTF-8" # Генерируемые локализации +debian_repo: "bullseye" # Релиз дистрибутива +debian_repo_nonfree: false # Включить пропроетарный репозиторий +debian_repo_reboot: true # Перезагрузить после обновления + +``` diff --git a/ansible.cfg b/ansible.cfg new file mode 100644 index 0000000..2f74f1b --- /dev/null +++ b/ansible.cfg @@ -0,0 +1,2 @@ +[defaults] +inventory=./inventory diff --git a/group_vars/all.yml b/group_vars/all.yml new file mode 100644 index 0000000..5b03fea --- /dev/null +++ b/group_vars/all.yml @@ -0,0 +1,4 @@ +--- +usernames: + - a + - b \ No newline at end of file diff --git a/inventory/host.yml.example b/inventory/host.yml.example new file mode 100644 index 0000000..245104e --- /dev/null +++ b/inventory/host.yml.example @@ -0,0 +1,6 @@ +#--- +#all: +# hosts: +# supp: +# ansible_host: 8.8.8.8 +# ansible_user: admin diff --git a/play.yml b/play.yml new file mode 100644 index 0000000..55917de --- /dev/null +++ b/play.yml @@ -0,0 +1,74 @@ +--- +- name: install remove desktop + hosts: all + tasks: + + - name: install packages + ansible.builtin.apt: + update_cache: true + clean: true + pkg: + - xfce4 + - tigervnc-standalone-server + - git + + - name: add user + ansible.builtin.user: + name: "{{ item }}" + shell: /bin/bash + create_home: yes + register: add_user + loop: "{{ usernames }}" + + - name: test + ansible.builtin.debug: + var: "{{ item.uid }}" + loop: "{{ add_user.results }}" + + - name: create dir for novnc + ansible.builtin.file: + path: /opt/novnc + state: directory + + - name: extract novnc + ansible.builtin.unarchive: + remote_src: yes + src: https://github.com/novnc/noVNC/archive/refs/tags/v1.4.0.tar.gz + dest: /opt/novnc + extra_opts: --strip-components=1 + + - name: create novnc service + ansible.builtin.template: + src: templates/novnc.service.j2 + dest: /lib/systemd/system/novnc.service + + - name: start novnc service + ansible.builtin.systemd: + daemon_reload: true + enabled: true + state: started + name: novnc.service + + - name: add user to vnc + ansible.builtin.lineinfile: + path: /etc/tigervnc/vncserver.users + line: ':{{ (item.uid | string)[2:] }}={{ item.name }}' + loop: "{{ add_user.results }}" + + - name: disable password on vnc + ansible.builtin.lineinfile: + path: /etc/tigervnc/vncserver-config-defaults + line: '$SecurityTypes = "None"' + + - name: delete bug on vnc + ansible.builtin.lineinfile: + path: /etc/tigervnc/vncserver-config-defaults + line: '#1;' + regexp: '^1;' + + - name: start tigervnc + ansible.builtin.systemd: + enabled: true + state: started + name: tigervncserver@:{{ (item.uid | string)[2:] }}.service + loop: "{{ add_user.results }}" diff --git a/templates/novnc.service.j2 b/templates/novnc.service.j2 new file mode 100644 index 0000000..a125f87 --- /dev/null +++ b/templates/novnc.service.j2 @@ -0,0 +1,9 @@ +[Unit] +Description=Start novnc at startup + +[Service] +ExecStart=/opt/novnc/utils/novnc_proxy --vnc localhost:5901 --file-only --web /opt/novnc/ +Restart=on-failure + +[Install] +WantedBy=multi-user.target diff --git a/templates/vncserver.service.j2 b/templates/vncserver.service.j2 new file mode 100644 index 0000000..3bfdfc9 --- /dev/null +++ b/templates/vncserver.service.j2 @@ -0,0 +1,13 @@ +[Unit] +Description=Start vnc at startup +After=syslog.target network.target + +[Service] +Type=forking +User={{ username }} +Group={{ username }} +ExecStart=/usr/bin/vncserver :1 -localhost no +Restart=on-failure + +[Install] +WantedBy=multi-user.target