Есть ли способ отключить установку расширений Firefox пользователями без прав администратора?
Вроде, как бы, что-то вроде. Вы можете применить настройки блокировки с помощью mozilla.cfg. Однако это предотвратит все пользователи не могут использовать заблокированные функции. Администраторы, конечно, могут по своему усмотрению менять местами файл конфигурации.
Вот список настроек, которые мы устанавливаем с помощью блокировки. Это среда K-12, поэтому ваши потребности, вероятно, будут отличаться.
//
lockPref("app.update.auto", false);
lockPref("app.update.enabled", false);
lockPref("app.update.silent", true);
lockPref("browser.cache.disk.capacity", 1000);
lockPref("browser.download.useDownloadDir", false);
lockPref("browser.rights.3.shown", true);
lockPref("browser.search.update", false);
lockPref("browser.shell.checkDefaultBrowser", false);
lockPref("extensions.update.enabled", false);
lockPref("plugin.default_plugin_disabled", false);
lockPref("plugin.scan.plid.all", true);
lockPref("plugins.hide_infobar_for_missing_plugin", true);
lockPref("profile.allow_automigration", false);
lockPref("signon.prefillForms", false);
lockPref("signon.rememberSignons", false);
lockPref("startup.homepage_override_url", "");
lockPref("startup.homepage_welcome_url", "");
lockPref("xpinstall.enabled", false);
lockPref("xpinstall.whitelist.required", true);
Также см. заблокированные настройки конфигурации к официальной документации Mozilla.org.
Это вариант, составленный из полезных деталей @ MDN, MozillaZine, PCC-Услуги, Размышления Майка
lockPref("xpinstall.enabled", false);
lockPref("extensions.enabledScopes", 0); // Or 4 or 8 for approved extensions
Components.utils.import("resource://gre/modules/FileUtils.jsm");
var profExtDir = FileUtils.getDir("ProfD", ["extensions"], false, false);
if ( profExtDir.exists() )
Tech_a_break; // here anything undefined would suffice
Двойные косые черты (//) вне кода обозначают комментарии.
lockPref()
указывает политика т.е. обязательный - пользователи не могут изменять, тогда как defaultPref()
или pref()
указывает предпочтение т.е. необязательно - пользователи могут изменять изначально установленное значение.
Настройка xpinstall.enabled
к ложный отключает все установки через (работающий) Firefox, то есть установки с веб-сайтов, Инструменты> Дополнения> [Получить дополнения | Панель поиска | значок шестеренки], Файл> Открыть файл и перетащить. Форматы установщика: .xpi и .jar.
Настройка extensions.enabledScopes
к 0 отключает все (кроме папка пользователя (профиля) (Область 1), и папка администратора) автономное / ручное обнаружение (один раз при каждом запуске Firefox).
(Пользователь) Гибридная локация Scope 1 (папка расширений профиля пользователя) является единственным хранилищем первого метода установки и устарело, если для xpinstall.enabled установлено значение false, но не входит в область действия (extensions.enabledScopes) в качестве обнаруженного местоположения (второй метод установки). Второй блок кода выше выдает ошибку всякий раз, когда появляется это местоположение, и Firefox закрывается.
about: config, about: config Записи, Расширение Config Descriptions, Установка расширений, Особые локации
Чтобы включить одобренные расширения через Firefox каталог_установки \ браузер \ расширения, устанавливать extensions.enabledScopes
к 4, & Добавить lockPref("extensions.autoDisableScopes", 11);
В качестве альтернативы (в Windows) включить утвержденные расширения через реестр Windows HKLM, устанавливать extensions.enabledScopes
к 8, и extensions.autoDisableScopes
к 7. Эквивалент в GNU / Linux: / usr / share / mozilla / extensions / {ec8030f7-c20a-464f-9b0e-13a3a9e97384}
Чтобы включить оба местоположения, используйте 12, и 3 соответственно.
Также возможно lockPref()
или defaultPref()
настройки тех расширений, которые объединяют свою конфигурацию в about: config; обычно конкретные ключи в about: config включают имя расширения или часть имени или em: id.
Загрузите и распакуйте FoxyProxy во вложенную папку верхнего уровня в общей сетевой папке (например, в сетевой папке). FxExts, и подпапка foxyproxy). Затем переименуйте foxyproxy вложенная папка со значением между em: id теги в разархивированном install.rdf файл - foxyproxy переименован как foxyproxy@eric.h.jung.
Далее в текстовом файле введите путь в первой строке, т.е. \\ сервер \ FxExts \ foxyproxy@eric.h.jung, а также переименуйте текстовый файл (включая расширение .txt) с em: id стоимость - Новый текстовый документ Document.txt переименован как foxyproxy@eric.h.jung.
Эти текстовые файлы могут быть распространены на существующий Firefox. каталог_установки \ браузер \ расширения, или включен в установщик Firefox ядро \ браузер \ расширения.
Альтернативно или дополнительно через реестр HKLM: Name foxyproxy@eric.h.jung, и данные \\ сервер \ FxExts \ foxyproxy@eric.h.jung
В одном или обоих случаях (Объемы 4 и 8):
Чтобы отключить расширение, переименуйте целевое расширение install.rdf в, например, disabled.rdf.
Чтобы обновить расширение, удалите содержимое в его подпапке и распакуйте новый XPI. Обычно уникальные em: id будет то же самое.
Если extensions.autoDisableScopes
установлен на 15пользователи смогут искать и активировать предпочтительные расширения через Инструменты (Alt + T)> Надстройки: панель поиска. В качестве альтернативы включите одно место для автоматически активируемых расширений, которое оставит другое для расширений, активируемых пользователем (вручную).
В Windows Отрицать в Прочитать данные разрешение на local-settings.js для пользователей / групп, подлежащих освобождению. В системах GNU / Linux одним из вариантов было бы установить базовые разрешения для local-settings.js как 0600 (где root - это ug), добавьте всех пользователей в группу (например, fxgrp), исключив пользователей, подлежащих исключению, а затем setfacl -m g:fxgrp:r local-settings.js
Обратите внимание, что использование переменных среды ОС небезопасно, так как их можно обойти, если не будут реализованы дополнительные меры за пределами файла блокировки (политики).
Разное: Консоль браузераКомандная панель может быть отключена правилом CSS в таблице стилей, например. .jsterm-input-container {display:none;}
Чтобы централизовать эту таблицу стилей с помощью файла блокировки (политики):
var css = Components.classes["@mozilla.org/content/style-sheet-service;1"]
.getService(Components.interfaces.nsIStyleSheetService);
var ioSvc = Components.classes["@mozilla.org/network/io-service;1"]
.getService(Components.interfaces.nsIIOService)
.newURI("file://///server/share/Fx.css", null, null);
css.loadAndRegisterSheet(ioSvc, 1);
Fx.css (таблица стилей) загружается в Безопасный режим Firefox тоже, и можно указать оба хром (Пользовательский интерфейс Firefox) и контент (внутренние страницы, веб-страницы) правила. Для монтирования NFS, SMB или локальной файловой системы используйте file:///
[userChrome и userContent] .css имеют наивысший приоритет, поэтому было бы неплохо проверить наличие хром папка тоже, например var profChrmDir = FileUtils.getDir("UChrm", false, false); if( profExtDir.exists() || profChrmDir.exists() )
Имена и идентификаторы элементов Chrome, URL-адреса Chrome, Работа с URL-адресами Chrome
Другой инструменты, а GCLI при необходимости можно отключить через файл блокировки (политики) - фильтр для devtools*enabled
в about: config.
Подробнее о nsInterfaces в Components.interfaces. * См. XPCOM интерфейсы.
PS: Чтобы надежно выявлять ошибки и условия в файле .cfg некоторых редакций Firefox, может потребоваться поместить все содержимое блокировки (политики) в блок try, например try { var ...; lockPref(); } catch(e) { Components.utils.import("resource://gre/modules/Services.jsm"); Services.startup.quit(0x03); }
Необязательно также включить Services.prompt.alert(null, "Firefox", "Failed to start. Please inform the IT dept.");
в блоке catch (e) {}.
XPConnect, XPCOM интерфейсы, JSCM, omni.ja, Ссылка на JS, быстрый JS, JS
В более поздних версиях Firefox сложнее запретить пользователям устанавливать надстройки. Firefox не соблюдает предпочтение xpinstall.enabled в некоторых версиях. (Изменить: см. Комментарий ниже: они соблюдают это предпочтение с версии 31)
Подробную информацию о том, как изменить Firefox, чтобы предотвратить отображение диспетчера надстроек, и как запретить пользователям устанавливать надстройки, см. Эта статья.
Инструкции не для слабонервных, но они работают; Я заблокировал 700 машин в среде K-8, используя эти указания.
Дополнительные сведения о блокировке настроек браузера см. На странице Эта статья.