Авторизация в МОС12 через school.mos.ru
Ознакомиться с наиболее подробным и актуальным описанием авторизации через mos.ru можно при вводе в консоли:
man mos-auth.conf
Установка и активация
По умолчанию авторизация включена в дистрибутивах для компьютеров и ноутбуков.
Для включения введите в консоли (после чего перезагрузите компьютер):
sudo dnf install mos-auth-core mos-auth-folders
sudo mos-auth-config enable
Дезактивация и удаление
Для отключения авторизации введите в консоли:
sudo mos-auth-config disable
Для удаления введите в консоли:
sudo dnf remove mos-auth-core mos-auth-folders
Алгоритм работы конфигурации
Конфигурация загружается из всех файлов в каталогах конфигурации в следующем порядке:
/usr/lib/mos-auth/mos-auth.conf.d/*.conf - системные конфигурационные "drop-in" файлы;
/etc/mos-auth/mos-auth.conf - основной конфигурационный файл;
/etc/mos-auth/mos-auth.conf.d/*.conf - локальные конфигурационные "drop-in" файлы.
Эти файлы настраивают различные параметры подсистемы авторизации mos-auth. В случае отсутствия файла конфигурации используются стандартные значения.
Таким образом, в дополнение к "основному" файлу конфигурации считываются дополнительные фрагменты конфигурации ("drop-in" файлы) из каталогов conf.d/.
- Системные конфигурационные "drop-in" файлы считываются раньше, чем основной файл конфигурации и предназначены для конфигурационных файлов, устанавливаемых пакетами дистрибутива.
- Локальные конфигурационные "drop-in" файлы имеют более высокий приоритет и переопределяют основной файл конфигурации.
- Файлы в подкаталогах конфигурации conf.d/ сортируются по их именам по алфавиту.
- Если в нескольких файлах указан один и тот же параметр, приоритет имеет параметр из того файла, который был загружен последним.
Способы создания локальной конфигурации
Первый способ (рекомендуемый) - создание "drop-in" файлов в подкаталоге conf.d/;
Второй способ - изменение файла /etc/mos-auth/mos-auth.conf.
Внимание! Первый способ является более предпочтительным, так как основной файл конфигурации '/etc/mos-auth/mos-auth.conf' хранит закомментированные значения по умолчанию и может изменяться при обновлении mos-auth.
Настройки авторизации
В секции sddm представлены следующие параметры для экрана входа авторизации:
| Параметр | Значение по
умолчанию |
Описание включенного
параметра |
|---|---|---|
guest-enabled
|
true | Отображается кнопка Войти как гость |
guest-home-tmpfs
|
false | Домашняя папка гостя примонтирована через tmpfs |
guest-dbus-service
|
true | Автоматически загруженная DBus-служба у гостя |
mos-auth-btn-enabled
|
true | Отображается кнопка Авторизация через mos.ru. |
- При включенном параметре
guest-home-tmpfsвсе файлы в домашней папке гостя будут располагаться в ОЗУ. Данный параметр повышает безопасность и скорость создания/ очистки профиля гостя при входе в учетную запись гостя. - Профиль гостя автоматически очищается при перезагрузке. Также профиль гостя может быть кастомизирован с помощью /etc/skel.
prepare-guest-account: переопределение skel
- Сначала считывается значение новой опции из конфига mos-auth: `guest-skel-directory`.
- Если оно отсутствует, тогда считываем стандартное значение для новых пользователей из `/etc/default/useradd` из переменной `SKEL`.
- Если оно отсутствует, тогда используем `/etc/skel`.
Указанные директории в `guest-skel-directory` или `/etc/default/useradd` в переменной SKEL являются корректными только тогда, когда не равны пустому значению ("") и когда указанная директория действительно существует.
- DBus-служба позволяет администратору (root) посылать команды на выполнение от имени гостя.
Например, можно выполнять либо команду (run), либо запускать команду без прикрепления к терминалу (runDetach):
sudo qdbus --system org.mos.auth.guest / run "zenity --calendar"
sudo qdbus --system org.mos.auth.guest / runDetach "/tmp/script.sh"
Общий вид файла конфига
[sddm] #guest-enabled=true #guest-home-tmpfs=false #guest-dbus-service=true #mos-auth-btn-enabled=true
Консольная версия управления авторизацией через mos.ru
mos-auth-config - консольная утилита для управления подсистемой авторизации mos-auth, которая позволяет включать и отключать вход в систему через учетную запись на mos.ru.
В данной утилите доступны следующие команды:
| Название | Описание |
|---|---|
mos-auth-config enable
|
Для запуска команды требуются права администратора.
- устанавливается тема mos-auth в SDDM, - устанавливается PAM-механизм автоочистки профиля гостя, - активируется DBus-служба для гостя, - включается поддержка сетевых папок (если установлен пакет mos-auth-folders), - активируется DBus-служба в SDDM для возможности входа в систему через терминал (если установлен пакет mos-auth-dbus-conf) |
mos-auth-config disable
|
Для запуска команды требуются права администратора.
- возвращается тема SDDM, которая была настроена до включения подсистемы авторизации, - выключается PAM-механизм автоочистки профиля гостя, - выключается DBus-служба для гостя, - выключается поддержка сетевых папок, - выключается DBus-служба в SDDM |
mos-auth-config status
|
Выводит текущий статус авторизации через mos.ru в системе |
mos-auth-config edit
|
Для запуска команды требуются права администратора.
|
mos-auth-config help
|
Вызывает справку |
Возможность входа через шину DBus
Существует возможность неинтерактивного (без взаимодействия с GUI) входа в систему, например, для авторизации в sddm через терминал по SSH.
При включении подсистемы авторизации mos-auth, активируется DBus-служба в SDDM, которая позволяет осуществить вход в систему в SDDM через терминал, если установлен пакет mos-auth-dbus-conf.
Сервис активен только на момент, пока активна тема SDDM (пока активен QML плагин org.mos.auth, который вызван процессом sddm-greeter). Если пользователь уже вошел в систему и SDDM неактивен, то команда сообщит, что такого сервиса в шине DBus не существует.
Сервис может быть создан только пользователем sddm, для запуска команд требуются права администратора root.
Примеры команд:
qdbus --system org.mos.auth / login user 123
Для гостя (отсутствие второго аргумента с паролем в команде трактуется как пустой пароль):
qdbus --system org.mos.auth / login guest
Настройка авторизации через mos.ru с помощью Admin Tweaker
Включить и настроить авторизацию в системе через mos.ru можно в приложении Admin Tweaker.
Во вкладке "Авторизация через MOS.RU" доступны следующие пакеты для установки:
- mos-auth-core - установка данного пакета позволяет реализовать возможность авторизации через mos.ru, войти гостем, настроить логин командой через ssh и остальные базовые функции;
- mos-auth-folders - установка данного пакета позволяет получать доступ к сетевым папкам (если такая возможность поддерживается в вашем школьном здании);
- mos-auth-dbus-conf - установка данного пакета позволяет компьютерам принимать запрос по ssh для залогинивания;
- mos-auth-roles - установка данного пакета позволяет настраивать на компьютерах роли (mos-teacher, mos-student). Данный пакет устанавливается автоматически вместе с mos-auth-core.
После установки пакета mos-auth-core появляется возможность включить авторизацию через mos.ru. После выбора опции «Включена» нажмите «Применить», что приведет к активации следующих настроек: кнопка входа через mos.ru, гостевая учетная запись, монтирование домашней папки гостя в tmpfs, выбор способа отображения логинов на экране авторизации. При выключении авторизации через mos.ru остальные настройки на данной вкладке будут выключены автоматически.
Опция «Удалить файл конфига» в разделе «Способ отображения логинов на экране авторизации» позволяет удалить созданный данной утилитой файл, в котором записан способ отображения авторизации через mos.ru. При удалении данного файла авторизация будет отображаться по умолчанию согласно настройкам системы.
Возможности для пользователей, авторизованных через mos.ru
Доступ к сетевым папкам, расположенным на сервере МЭШ корпуса, в домашнем каталоге и на рабочем столе:
Общая папка - общая для всех пользователей;
Персональная папка - общая для всех устройств, вошедших под одним аккаунтом, например для доски и ноутбука.
Папки организованы путем создания glusterfs на сервере 10.xxx.xxx.20 общей папки с именем share без пароля. В папке расположены подпапки с именами пользователей и общая подпапка public.
На ПК монтируется общая папка share c правами, не допускающими ее чтение всеми пользователями, и создаются ссылки на нужные подпапки из каталога и с рабочего стола пользователя.
При обрыве сети папка отваливается (перестает быть доступна), восстановление происходит только путем выхода и входа пользователя.
Администратор с правами root может видеть все папки пользователей в каталоге /run/media/glusterfs/.
Настройка прав доступа sudo для учителей
Права доступа sudo дают учителю права администратора. Для этого необходимо в настройках sudo выставить права для mos-teacher (все учителя входят в эту группу) в /etc/sudoers (аналогично настройкам для группы wheel).
Данная настройка даст права sudo всем учителям. Если нужно изменить настройки доступа для одного учителя, следует добавить его в группу wheel (c помощью редактирования файла /etc/group).
Вход с логином teacher/student без отключения возможности авторизации через mos.ru
Для реализации данной возможности следует:
- установить в файле /etc/sddm.conf минимальный id 500;
- прописать учетную запись guest в
HideUsers=в /etc/sddm.conf.d/kde_settings.conf.
ИЛИ
сделать автологин (вход в пространство пользователя без пароля) для пользователя student/teacher в /etc/sddm.conf.d/kde_settings.conf.
Настройки автологина
- Для установки автологина можно ввести в консоли:
py-ini-config set /etc/sddm.conf.d/kde_settings.conf Autologin User имяпользователя
Также автологин можно установить через Вход в систему (SDDM).
- Зайдите в Главное меню -> Параметры системы -> Запуск и завершение -> Вход в систему (SDDM);
- Нажмите кнопку Поведение;
- Установите галочку напротив "Автоматически входить в систему" и выберите имя пользователя;
- Нажмите кнопку Применить.
- Для отключения автологина введите в консоли следующую команду:
py-ini-config del /etc/sddm.conf.d/kde_settings.conf Autologin User
Вводить команды для установки и отключения автологина необходимо от пользователя с повышенными привилегиями (через sudo или от root).
Решение проблем с авторизацией
Некоторые проблемы могут решаться с помощью перезапуска, для этого введите в консоли:
sudo mos-auth-config disable sudo mos-auth-config enable