Данная статья применима к:
- Astra Linux Common Edition 2.12.43
Для упрощения изложения в примере рассматривается настройка удаленного помощника для локальных пользователей и групп, однако изложенная методика также применима для доменных пользоватей и групп.
Подготовка стенда
Создать пользователя, которому "помогают":
sudo useradd -m luser
echo -e "123luser\n123luser" | sudo passwd luser
Создать пользователя, который "помогает": echo -e "123luser\n123luser" | sudo passwd luser
sudo useradd -m helper
echo -e "123helper\n123helper" | sudo passwd helper
Создать группу, которой разрешено подключение и включить в эту группу пользователя-"помощника": echo -e "123helper\n123helper" | sudo passwd helper
sudo addgroup vnc-help
sudo usermod -aG vnc-help helper
sudo usermod -aG vnc-help helper
tigervnc-scraping-server
Установить пакет:
sudo apt install -y tigervnc-scraping-server
Создать файл /etc/access-groups-to-help, содержащий список групп, пользователям-участникам которых разрешено подключение (в примере - одна группа vnc-help). Настроить PAM-стек, добавив в него модуль pam_listfile.so, выполняющий проверку участия в группе из списка /etc/access-groups-to-help: echo "vnc-help" | sudo tee /etc/access-groups-to-help
sudo sed -i "/@include common-auth/a account required pam_listfile.so onerr=fail item=group sense=allow file=/etc/access-groups-to-help" /etc/pam.d/tigervnc
Так как для использования PAM-стека сервер VNC должен быть запущен от sudo:sudo sed -i "/@include common-auth/a account required pam_listfile.so onerr=fail item=group sense=allow file=/etc/access-groups-to-help" /etc/pam.d/tigervnc
Создать сценарий запуска сервера:
echo -e '#!/bin/bash\nsudo x0tigervncserver SecurityTypes=TLSPLain PlainUsers=* PAMService=tigervnc' | sudo tee /bin/rhelp
sudo chmod 711 /bin/rhelpРазрешить запуск созданного сценария с привилегиями суперпользователя (разрешить запуск с использованием sudo):
echo "ALL ALL=(root) NOPASSWD: /bin/rhelp" | sudo tee /etc/sudoers.d/rhelp
Проверка
- Войти в графическую сессию пользователя luser;
Запустить VNC-сервер из сессии пользователя luser:
sudo rhelp- Подключиться с другой машины с помощью remmina от имени пользователя helper, протокол VNC, порт 5900 для сессии первого пользователя (vt7), 5901 для второго (vt8) и т.д. (однако при этом в remmina корректно отображается только экран активной сессии).
ToDo:
- Переключение кириллицы;
- Отключение удаленного доступа пользователем.