Ограничения и безопасность
Правила запуска дают десктопному приложению возможность запускать программы на устройстве пользователя.
Ограничения формата правил
- Поддерживается версия формата
1. - Размер JSON-файла не должен превышать 256 КиБ.
- В одном файле может быть не более 200 правил.
- Файл должен содержать хотя бы одно правило.
- Для одной URI-схемы можно создать только одно правило.
- Сопоставление выполняется только по URI-схеме. Нельзя задавать условия по операционной системе, хосту, порту, пути, домену или регулярному выражению.
- В одном файле нельзя определить разные программы для одной схемы на Windows, macOS и Linux. Для разных операционных систем нужно подготовить отдельные файлы.
- Импорт нового файла заменяет все ранее сохранённые правила.
- Длина пути к программе ограничена 4096 символами.
- Длина каждого аргумента ограничена 8192 символами.
- В пути к программе нельзя использовать подстановки, переводы строк, нулевые символы и переходы
... - Пассворк не обрабатывает переменные окружения,
~, wildcard-выражения, перенаправление вывода, конвейеры и другие возможности командной оболочки. Если вcommand.programявно указан командный интерпретатор, он обрабатывает переданные аргументы по собственным правилам. - Пассворк не задаёт рабочий каталог программы и не отслеживает её завершение.
- Вывод и код завершения внешнего приложения не отображаются в Пассворке.
- Если для URI-схемы нет правила или программу не удалось запустить, Пассворк показывает ошибку.
- Обычные
httpиhttpsссылки нельзя переназначать с помощью правил.
Требования к URI
Для правил запуска следует использовать ссылки в формате:
- URL
scheme://host:port/path
Например:
- URL
rdp://server.company.com:3389
ssh://server.company.com:22
vnc://workstation.company.com:5900
Нельзя создавать правила для следующих схем:
http;https;about;blob;data;file;hcp;help;javascript;mailto;ms-appx;ms-appx-web;ms-msdt;ms-settings;ms-windows-store;msiexec;passwork;search;search-ms;sms;tel;vbscript.
Особенности Windows
- В
command.programнеобходимо указывать полный путь к.exe. - В JSON необходимо экранировать обратные слеши —
C:\\Program Files\\Application\\app.exe. - Переменные вида
%ProgramFiles%не раскрываются автоматически. - Файлы
.batи.cmdне запускаются напрямую. Для их запуска можно указатьcmd.exe. - Сценарии
.ps1можно запускать черезpowershell.exeилиpwsh. - Внешняя программа запускается с правами текущего пользователя. Пассворк не запрашивает повышение привилегий автоматически.
Особенности macOS
- Каталог приложения с расширением
.appне является исполняемым файлом. - Для запуска можно указать бинарный файл внутри
.appили использовать/usr/bin/openс параметром-a. - Сценарии командной оболочки можно запускать через
/bin/zshили другой установленный интерпретатор. - Команды, установленные через Homebrew или другие менеджеры, могут быть недоступны по короткому имени. Рекомендуется указывать полный путь.
- Запуск может быть ограничен Gatekeeper, настройками безопасности macOS или разрешениями приложения.
Особенности Linux
- Механизм одинаково работает в DEB и RPM окружениях.
- Путь к программе зависит от дистрибутива и способа установки.
- Сценарии командной оболочки можно запускать через
/bin/bash,/bin/shили другой установленный интерпретатор. - Файл программы должен существовать и иметь право на выполнение.
Рекомендации
- Указывать полный путь к программе.
- Импортировать и распространять правила только из доверенного источника.
- Перед подтверждением импорта проверять соответствия между URI-схемами и программами.