4.5.2. Пользователи Linux

Примечание

ПК должен быть настроен для взаимодействия и авторизацию пользователя с помощью домена.

Для настройки прозрачной авторизации на ОС семейства Linux можно воспользоваться следующей командой:

curl --proxy-negotiate -u:user -x auth.usergate.demo:8090 http://example.ru &> /dev/null

где u:user -- буквально; имя пользователя подставлять не нужно;

auth.usergate.demo -- FQDN прокси-сервера UserGate;

http://example.ru -- любой URL; используется для заполнения соответствующего поля при формировании веб-запроса к прокси-серверу.

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

curl --cookie "csrf_token=foo" -v -X POST -d "csrfmiddlewaretoken=foo" -H "Content-Type: application/x-www-form-urlencoded" http://logout.usergate.demo:8002/cpa/logout

где logout.usergate.demo -- FQDN прокси-сервера UserGate.

Примечание

Выполнение команды должно осуществляться с IP-адреса, авторизацию которого необходимо сбросить.

3.5.2.1. С помощью xprofile

  1. В домашней директории пользователя создайте файл .xprofile (точка обязательна) и сделайте файл исполняемым (chmod +x ~/.xprofile).

  2. Пропишите в файле следующие строки:

#!/bin/bash
/path-to-curl/curl --proxy-negotiate -u:user -x auth.usergate.demo:8090 http://cbr.ru &> /dev/null
trap '. /path-to-curl/curl --cookie "csrf_token=foo" -v -X POST -d "csrfmiddlewaretoken=foo" -H "Content-Type: application/x-www-form-urlencoded" http://logout.usergate.demo:8002/cpa/logout ; exit' 0

3.5.2.2. С помощью systemd

Также можно воспользоваться функционалом подсистемы инициализации и управления службами systemd. В этом случае необходимо создать файл сервиса и зарегистрировать его в systemd.

  1. Для работы скрипта создайте файл с произвольным именем, например, auth.service в каталоге ~/.config/systemd/user.

  2. Добавьте в файл следующее:

[Unit]
Description=Auth service on UserGate NGFW
After=network.target network-online.target
Wants=network-online.target
[Service]
Type=oneshot
RemainAfterExit=true
TimeoutStartSec=0
ExecStart=/path-to-curl/curl --proxy-negotiate -u:user -x auth.usergate.demo:8090 http://cbr.ru > /dev/null
ExecStop=/path-to-curl/curl --cookie "csrf_token=foo" -v -X POST -d "csrfmiddlewaretoken=foo" -H "Content-Type: application/x-www-form-urlencoded" http://logout.usergate.demo:8002/cpa/logout
[Install]
WantedBy=default.target
  1. Выполните команды (вместо auth.service укажите название файла, созданного на шаге 1):

systemctl --user daemon-reload
systemctl --user enable auth.service

Аналогичным образом реализуйте запуск скрипта сброса сессии пользователя при перезагрузке или выключении машины.