Примечание
ПК должен быть настроен для взаимодействия и авторизацию пользователя с помощью домена.
Для настройки прозрачной авторизации на ОС семейства 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¶
-
В домашней директории пользователя создайте файл .xprofile (точка обязательна) и сделайте файл исполняемым (chmod +x ~/.xprofile).
-
Пропишите в файле следующие строки:
#!/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.
-
Для работы скрипта создайте файл с произвольным именем, например, auth.service в каталоге ~/.config/systemd/user.
-
Добавьте в файл следующее:
[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
-
Выполните команды (вместо auth.service укажите название файла, созданного на шаге 1):
systemctl --user daemon-reload
systemctl --user enable auth.service
Аналогичным образом реализуйте запуск скрипта сброса сессии пользователя при перезагрузке или выключении машины.