Выполнение исполняемых файлов при подключении или отключении пользователя
Выполнение исполняемых файлов при подключении или отключении пользователя
Начиная со STAL версии 2.0 добавлена поддержка выполнения внешних исполняемых файлов, определенных администратором, при:
- подключении пользователя в сессию;
- отключении пользователя от сессии;
- запуске сессии пользователя;
- закрытии (останове) сессии пользователя.
Для мониторинга перечисленных выше событий существует служба stal-watchdog
, запускаемая сразу после установки STAL.
Для выполнения внешних исполняемых файлов (например, xx-scripts.sh
) администратору нужно:
- создать каталог
/etc/stal/sessions.d/
:
sudo mkdir /etc/stal/sessions.d/
- перейти в созданный каталог:
cd /etc/stal/sessions.d/
- создать в нем подкаталоги
created
,connected
,disconnected
,closed
:
sudo mkdir created sudo mkdir connected sudo mkdir disconnected sudo mkdir closed
- поместить нужные исполняемые файлы в соответствующие каталоги:
- для выполнения при подключении пользователя в сессию -
/etc/stal/sessions.d/сonnected
; - для выполнения при отключении пользователя от сессии -
/etc/stal/sessions.d/disconnected
; - для выполнения при запуске сессии пользователя -
/etc/stal/sessions.d/created
; - для выполнения при закрытии (останове) сессии пользователя -
/etc/stal/sessions.d/closed
.
- для выполнения при подключении пользователя в сессию -
В исполняемых файлах можно использовать переменные среды, приведенные в таблице.
Переменные среды, доступные для использования в исполняемых файлах
Переменная | Назначение |
---|---|
SESSION_LOGIN | Имя пользователя |
SESSION_HOME | Рабочий каталог пользователя |
SESSION_XAUTHFILE | Служебная переменная X11 сессии пользователя |
SESSION_DISPLAY | Служебная переменная X11 сессии пользователя |
SESSION_UID | Идентификатор пользователя |
SESSION_GID | Идентификатор группы пользователя |
SESSION_SYSTEMD_ID | Идентификатор сессии в системе управления службами Программный номер сессии STAL синхронизирован с номером сессии Для получения номера сессии можно выполнить команду: :~$ sudo loginctl list-sessions Для получения статуса сессии можно выполнить команду: :~$ sudo loginctl session-status <номер сессии> |
SESSION_SEAMLESS | Режим seamless |
SESSION_MOUNTED | Указывает, что профиль пользователя смонтирован |
SESSION_COUNTS | Количество программных сессий пользователя |