На днях я получил новый корпоративный инструмент VPN. Называется Pulse Secure. Все заработало, спасибо большое, нареканий нет. Но потом я попытался бросить

и я получил это

Меня это тут же разозлило. Зачем любому удаленному администратору указывать мне, что делать на моей локальной машине? Даже если это корпоративная машина. Если я не использую VPN или, может быть, я даже не подключен ни к какому Wi-Fi, почему я должен его запускать? Просто глупо пытаться помешать мне что-то сделать на машине, где у меня есть root-доступ. Когда это переносится на ноутбук разработчика (в отличие от бухгалтера или сотрудника отдела кадров), это просто становится проблемой.

Он не влияет на безопасность машины или корпоративной сети, когда просто работает в фоновом режиме. Это не антивирусное программное обеспечение. Однако это влияет на время автономной работы и другие ресурсы, такие как оперативная память и процессор. И мне нужны те. Это именно тот тип программ, которые не закрываются, зависают и мешают мне запустить еще одно приложение Electron на моем ноутбуке. Иногда одного недостаточно, знаете ли.

Думаю, мне пришлось бы испачкать руки вместо того, чтобы делать то, что я действительно собирался сделать. Просто убить его из командной строки не получилось. Это просто начинается заново. Значит, это расследование.

Во-первых, я быстро просмотрел список открытых файлов в мониторе активности. Там я нашел файл журнала (нижняя строка):

Разработчики инструмента были очень любезны и сбрасывали в журнал около полумегабайта информации при каждом цикле перезапуска. Так что это также тратит впустую мое дисковое пространство. Среди тысяч строк я нашел ссылку на /Library/Application Support/Pulse Secure/Pulse/connstore.dat. Это звучало многообещающе. Поковырявшись в том файле и попробовав то и это, я нашел параметр, отвечающий за то.

ive "921sn438-qoo8-4pp4-85p7-68q5s2592o32" {
    ...
    connection-policy-override: "false"
    ...
}

Когда этот параметр изменен на true и инструмент перезапущен, я смог выйти. Вуаля!

Да.

А вот скрипт, который все это автоматизирует:

cd '/Library/Application Support/Pulse Secure/Pulse'
sudo sed -i '' \
      s'/connection-policy-override: "false"/connection-policy-override: "true"/' \
      connstore.dat
sudo killall PulseTray 'Pulse Secure' dsAccessService

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

Первоначально опубликовано на detunized.net 17 апреля 2019 г.