C

comp-сab-setup

Управление компьютерным классом

Утилита помогает настроить компьютерный класс на операционной системе МОС 12 в школе для управления через ssh и Veyon.

Перед использованием основных функций программы необходимо произвести настройку кабинета, выбрав вкладку "Настройка хостов". Для успешной работы все компьютеры в кабинете должны находиться в одной подсети.

Настройка

Сначала необходимо заполнить таблицу компьютеров. Для каждого компьютера необходимо указать название и адрес. Внимание: если указать адрес не в формате IP, к нему добавляется суффикс .local, необходимый для доступа к компьютеру в школьной сети. Если он не является необходимым, можно отредактировать файл /home/пользователь/.teacher_config/ccs.conf, вписав нужный суффикс или оставив пустой часть строки после знака =, что будет означать пустой суффикс.

Остальные поля в таблице не являются обязательными, но необходимы для работы большинства функций программы:

  • Выбор - логическое значение, которое показывает, будет ли выполнено на компьютере указанное действие. Если нажать на заголовок столбца (надпись "Выбор"), можно выбрать или снять выбор со всех компьютеров.
  • MAC-адрес: можно указать, но он определяется автоматически при установке Veyon.
  • Логины и пароли ученика и админа: можно указать, но в случае, если они одинаковые, проще воспользоваться кнопками "Генерация админов" и "Генерация пользователей" в верхней части окна. Внимание: в целях безопасности вместо паролей в таблице отображаются звёздочки. Посмотреть пароль можно во всплывающей подсказке, наведя на него курсор мыши.
  • Настроен: заполняется автоматически при копировании ключей SSH.
  • Удалённый логин: заполняется автоматически при включении на хостах возможности удалённого входа в систему.

Также доступен импорт данных в таблицу:

  • Из текстового файла: в файле должны быть в столбик перечислены адреса компьютеров, имена присваиваются автоматически. Например, если при импорте указать универсальное имя comp, то в таблице компьютерам будут даны имена comp1, comp2 и т.д.
  • из JSON - импорт всех данных целиком. Импортируемый файл json должен быть создан данной программой при помощи экспорта. Внимание: если в таблице были хосты, не указанные в импортируемом файле JSON, они не удаляются, а остаются в таблице.

Действия на вкладке "Настройка хостов"

Сеть:

  • Проверить ping. Проверяет, доступны ли отмеченные компьютеры.
  • Скорость проводных подключений. Выводит текущую скорость проводных подключений на отмеченных хостах или информацию о том, что проводных подключений нет (в случае, когда хосты подключены только по wi-fi).
  • Настроить доступ. Копирует ключи SSH с учительского компьютера на отмеченные компьютеры учеников. Перед копированием необходимо ответить на вопрос, создать ли новый ключ (возможно, с заменой) или использовать существующий на учительском компьютере. Также предлагается выбрать, добавить ли ключи к уже имеющимся на ученических компьютерах или заменить файл authorized_keys в папке /root/.ssh. При успешной настройке в столбце Настроен появится значение Да. Внимание: для настройки доступа по ssh в таблице должны быть заполнены логины и пароли админов на удалённых хостах. Админ - любой пользователь из группы wheel (учитель, администратор), но не root.
  • Удалить ключи. Позволяет удалить ключи ssh с выбранных компьютеров учеников. Внимание: данная функция удаляет все ключи, а не только скопированные с компьютера учителя.
  • Получить IP по MAC. Позволяет при заполненном MAC-адресе получить IP выбранных хостов и внести их в таблицу. Внимание: при выборе данной опции существующие имена хостов будут заменены на их IP.
  • Получить MAC по IP. Позволяет при заполненном IP-адресе получить MAC-адреса выбранных хостов и внести их в таблицу.
  • Сменить machine-id. Позволяет сгенерировать новый уникальный идентификатор для каждого отмеченного хоста.
  • Групповое переименование хостов. Позволяет присвоить хостам локальные имена, отличающиеся только номерами. Может быть полезно при настройке отдельного кабинета.

Пользователи:

  • Создать учётные записи учеников. Позволяет создать на выбранных компьютерах учётные записи учеников с указанными в таблице логинами и паролями. На Рабочем столе у созданных учеников также будут созданы папки Задания и Сдать работы.
  • Удалить учётные записи учеников. Позволяет удалить на выбранных компьютерах учётные записи учеников вместе с их домашними папками.
  • Включить и выключить автологин учеников - позволяет управлять автологином на выбранных компьютерах.
  • Создать и копировать архив домашней папки с сервера - позволяет заархивировать домашнюю папку выбранного пользователя на сервере и скопировать на хосты для возможности последующего восстановления из архива.
  • Копировать существующий архив /home с сервера - позволяет скопировать заранее созданный архив домашней папки с сервера на хосты для возможности последующего восстановления из архива.
  • Копировать архив /home с хоста на сервер - позволяет создать и скопировать с выбранного хоста архив домашней папки пользователя для последующего его компирования на другие хосты.

Veyon:

  • Установить Veyon - устанавливает veyon на компьютере учителя (если он уже был установлен, установка не производится) и veyon-core на компьютерах учеников. Внимание: на компьютерах учеников в трее может не появляться значок Veyon, что никак не влияет на его работоспособность.
  • Настроить Veyon: позволяет создать кабинет для управления при помощи Veyon и добавить в него выбранные компьютеры. Внимание: если кабинет уже существует, будет предложено заменить его или добавить компьютеры в уже существующий; также если в текущем кабинете уже существуют указанные компьютеры, их тоже можно будет заменить, оставить или добавить копии. Внимание: для корректной работы Veyon пользователь на компьютере учителя должен входить в группу wheel. Также на компьютерах учеников должен быть запущен сеанс X11. Если Veyon установлен, настроен, но компьютеры отображаются как недоступные, вероятно, что проблема в типе сеанса (wayland). В таком случае нужно завершить сеанс и залогиниться заново, выбрав в нижней части экрана тип сеанса Plasma (X11).
  • Удалить ключи с сервера/с хостов - удаляет все найденные ключи Veyon с сервера или с выбранных хостов.
  • Копировать ключ на хосты- позволяет скопировать указанный ключ Veyon с сервера на хосты.
  • Рестарт службы на сервере/на хостах - перезапускает службу Veyon на сервере или на хостах.

Выполнение команд:

  • Выполнить команду от root: отправляет по SSH на выбранные компьютеры введённую команду, которая будет выполнена от root. Также есть возможность выбрать из списка распространённых команд:
    • обновить и перезагрузить хосты;
    • обновить и выключить хосты (с возможностью после этого выключить и сервер, а также вывести уведомление);
    • перезагрузить хосты;
    • выключить хосты;
    • установить программы (будет предложено ввести названия программ в виде списка);
    • добавить языки ввода;
    • удалить программы (аналогично);
    • выполнить команду из файла. Каждую из предложенных команд можно отправить на хосты как последовательно, так и параллельно (не рекомендуется при слабой сети).
  • Установить или удалить программы: вызывает окно выполнения команды от root со вписанными командами. Программы выбираются при помощи чекбоксов или вводятся с клавиатуры.
  • Скопировать файл - позволяет скопировать выранный файл с сервера на хосты, в том числе как скрипт автозагрузки или правила nftables.
  • Скопировать /etc/skel - позволяет скопировать папку /etc/skel с сервера на хосты для их последующей настройки по умолчанию.
  • Включить удалённый вход в систему - устанавливает необходимый пакет и включает на хостах возможность авторизации через mos.ru.
  • Очистка конфигов пользователей - позволяет очистить конфиги программ пользователей на хостах при помощи утилиты configcleaner.
  • Включение хостов - позволяет включить отмеченные хосты по wakeonlan.

Ограничения профиля:

  • Запретить/разрешить изменения рабочего стола - блокирует/снимает защиту от записи файла настроек рабочего стола у текущего пользователя. Внимание: данное действие не запрещает менять настройки рабочего стола, а восстанавливает их к предыдущему состоянию после перезагрузки.

  • Отключить/ограничить/включить интернет на хостах - запрет и разрешение ученикам использования протоколов http и https (ssh и veyon работают). Ограничения разрешают доступ к указанному белому списку IP.

  • Отключить/включить фаервол на хостах - позволяет отключить и включить фаервол на выбранных хостах.

  • Отключить/включить wi-fi на хостах - позволяет отключить и включить wi-fi на выбранных хостах. Внимание: если беспроводное соединение на хостах единственное, то после выключения ими будет невозможно управлять до снятия ограничений вручную.

  • Изменения сети на хостах - запрещает или снимает запрет на изменения сетевых настроек на хостах.

  • Устройства ввода на хостах - отключает и включает работиу устройств ввода на хостах.

  • Установка приложений из магазина - устанавливает правила, согласно которым приложения из магазина может устанавливать только администратор или все пользователи.

  • Защитить настройки паролем/снять защиту - установка пароля на данную вкладку программы на сервере.

  • Прервать выполнение команды: позволяет прервать текущую команду без перезагрузки приложения.

Действия на вкладке "Учителю"

Работа с таблицей:

  • Выбрать всё - выбор всех компьютеров из таблицы
  • Очистить выбор - снятие выбора со всех компьютеров Также можно выбирать компьютеры мышью при помощи клавиш Ctrl и Shift.
  • Генерация пользователей - записывает в таблицу одинаковые для всех хостов введённые логин и пароль ученика.
  • Сохранить, удалить или перейти к профилю - позволяет быстро сохранить (требуется только ввод названия), удалить или загрузить список хостов со всеми настройками. Опция предназначена для управления несколькими компьютерными кабинетами с одного сервера или для работы с несколькими классами в одном кабинете.

Работы и задания:

  • Создать папку Сдать работы - создаёт на Рабочем столе ученика папку Сдать работы, из которой будет осуществляться автоматический сбор работ.
  • Собрать работы - позволяет скопировать работы из папки Сдать работы с Рабочего стола учеников в папку Работы на Рабочем столе учителя, где создаются подпапки с указанным именем, а также текущей датой и временем в названии. Здесь и далее при обмене файлами ученик - это текущий пользователь на хосте, включая гостя и пользователя с учётной записью mos.ru.
  • Очистить работы - очищает папку Сдать работы на Рабочем столе учеников на выбранных компьютерах.
  • Вернуть на доработку - копирует выбранные файлы обратно на хосты в папку Сдать работы.
  • Раздать задания - позволяет скопировать выбранные в файловом диалоге файлы с компьютера учителя в папку Задания на Рабочем столе учеников.
  • Очистить задания - очищает папку Задания на Рабочем столе учеников на выбранных компьютерах.

Архивация и восстановление:

  • Архивировать /home - создаёт архив домашней папки ученика на выбранных компьютерах.
  • Восстановить /home - восстанавливает домашнюю папку ученика из архива в случае его наличия на выбранных компьютерах.
  • Создать снимок /home - создаёт BTRFS снимок домашней папки ученика на хосте (при условии использования BTRFS).
  • Копировать архив /home с сервера - создаёт архив выбранной учётной записи на сервере и копирует на хосты для последующего восстановления из архива.

Действия на хостах:

  • Отобразить имя - отображает названия (как в таблице) выбранных компьютеров на их экранах.
  • Поменять обои - меняет обои у учеников на выбранный учителем файл.
  • Открыть браузер - открывает браузер Chromium с указанной на сервере страницей на выбранных компьютерах.
  • Удалённая авторизация учеников - осуществляет вход в систему указанных в таблице пользователей.
  • Удалённый выход из системы - осуществляет выход из системы на хостах c полным завершением сеанса.
  • Регистрация на уроке - запускает на хостах программу регистрации. Введённые учениками данные передаются на сервер и сохраняются в файле, указанном учителем.
  • Закрыть окна - закрывает все активные окна текущего пользователя.
  • Перезагрузить - перезагружает выбранные компьютеры.

Действия на сервере:

  • Открыть Проводник - открывает Домашнюю папку ученика на выбранном компьютере в Dolphin на сервере.
  • Открыть папку Работы - открывает папку Работы с собранными работами учеников на сервере.

Консольная версия

В настоящее время программу можно запускать в консольной версии со следующими параметрами командной строки:

  • registration - запуск регистрации на уроке;
  • poweroff - выключить хосты;
  • poweron - включить хосты (должен поддерживаться wakeonlan);
  • reboot - перезагрузить хосты;
  • end-session - завершить текущую сессию на хостах;
  • lock-session - заблокировать текущую сессию на хостах;
  • close-browsers - закрыть все браузеры на хостах;
  • show-hostnames - отобразить имена хостов;
  • get-works - собрать работы учеников;
  • open-browser - открыть браузер на хостах (следующий параметр - адрес страницы для открытия);
  • internet-off - выключить интернет на хостах;
  • internet-on - включить интернет на хостах;
  • input-off - выключить устройства ввода на хостах;
  • input-on - включить устройства ввода на хостах.

Данные команды будут отправлены на отмеченные хосты на вкладке настройки хостов на компьютере учителя.

Лицензия

GPLv3

Авторы

Команда разработки МОС