Перейти к основному содержимому
Версия: 7.0

Ограничения и безопасность

Правила запуска дают десктопному приложению возможность запускать программы на устройстве пользователя.

Ограничения формата правил​

  • Поддерживается версия формата 1.
  • Размер JSON-файла не должен превышать 256 КиБ.
  • В одном файле может быть не более 200 правил.
  • Файл должен содержать хотя бы одно правило.
  • Для одной URI-схемы можно создать только одно правило.
  • Сопоставление выполняется только по URI-схеме. Нельзя задавать условия по операционной системе, хосту, порту, пути, домену или регулярному выражению.
  • В одном файле нельзя определить разные программы для одной схемы на Windows, macOS и Linux. Для разных операционных систем нужно подготовить отдельные файлы.
  • Импорт нового файла заменяет все ранее сохранённые правила.
  • Длина пути к программе ограничена 4096 символами.
  • Длина каждого аргумента ограничена 8192 символами.
  • В пути к программе нельзя использовать подстановки, переводы строк, нулевые символы и переходы ...
  • Пассворк не обрабатывает переменные окружения, ~, wildcard-выражения, перенаправление вывода, конвейеры и другие возможности командной оболочки. Если в command.program явно указан командный интерпретатор, он обрабатывает переданные аргументы по собственным правилам.
  • Пассворк не задаёт рабочий каталог программы и не отслеживает её завершение.
  • Вывод и код завершения внешнего приложения не отображаются в Пассворке.
  • Если для URI-схемы нет правила или программу не удалось запустить, Пассворк показывает ошибку.
  • Обычные http и https ссылки нельзя переназначать с помощью правил.

Требования к URI​

Для правил запуска следует использовать ссылки в формате:

scheme://host:port/path

Например:

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-схемами и программами.