Есть ли способ отключить установку расширений Firefox пользователями без прав администратора?
Вроде. Вы можете применить настройки блокировки с помощью mozilla.cfg. Это, однако, не позволит всем пользователям использовать заблокированные функции. Администраторы, конечно, могут по своему желанию менять / загружать конфигурационный файл.
Вот список настроек, которые мы используем через блокировку. Это среда К-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-Services , Mike's Musings.
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, то есть установки с веб - сайтов, Инструменты> Дополнения> [Get Дополнения | Панель поиска | значок шестеренки], Файл> Открыть файл и перетащите курсор. Форматы установщика: .xpi и .jar.
Установка extensions.enabledScopes
в 0 отключает все (кроме пользователя (профиль) папки (Scope 1) , и администратора папки ) в автономном режиме / ручное открытие (один раз на каждом Firefox при запуске) местах.
Гибридное местоположение Scope 1 (пользователь) (папка расширений профиля пользователя) является единственным хранилищем первого метода установки и устарело, установив для xpinstall.enabled значение false, но не ограничено (extensions.enabledScopes) как обнаруженное местоположение. (второй способ установки). Второй блок кода выше выдает ошибку всякий раз, когда появляется это местоположение, и Firefox завершает работу.
about: config , about: config Записи , расширение описаний конфигурации , установка расширений , специальные места
Чтобы включить утвержденные расширения через Firefox install_directory \ browser \ extensions , установите extensions.enabledScopes
значение 4 и добавьтеlockPref("extensions.autoDisableScopes", 11);
В качестве альтернативы (в 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 .
Затем в текстовом файле введите путь в первой строке, т.е. \\ server \ FxExts \ foxyproxy@eric.h.jung , а также переименуйте текстовый файл (включая расширение .txt) со значением em: id - New Текстовый Document.txt переименован в foxyproxy@eric.h.jung .
Эти текстовые файлы могут быть распространены на существующие каталоги установки Firefox \ browser \ extensions или включены в ядро установщика Firefox \ browser \ extensions .
Альтернативно или дополнительно через реестр HKLM: имя foxyproxy@eric.h.jung и Data \\ server \ FxExts \ foxyproxy@eric.h.jung
В одном или обоих случаях (области 4 и 8):
Чтобы отключить расширение, переименуйте целевое расширение в install.rdf , например в disabled.rdf.
Чтобы обновить расширение, удалите содержимое его подпапки и распакуйте новый XPI. Обычно уникальный em: id будет таким же.
Если extensions.autoDisableScopes
установлено значение 15 , пользователи смогут искать и активировать предпочтительные расширения с помощью Сервис (Alt + T)> Дополнения: Панель поиска. В качестве альтернативы можно включить одно местоположение для автоматически активируемых расширений, которое оставит другое для пользовательских (вручную) расширений.
В Windows Запретить на Чтение данных разрешение на местных-settings.js для пользователей / групп , которые будут освобождены. В системах GNU / Linux одним из вариантов было бы установить базовые разрешения local-settings.js равными 0600 (с корневым именем - 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 и может указывать как правила chrome (Firefox UI), так и правила содержимого ( внутренние страницы , веб-страницы). Для монтирования NFS, SMB или локальной файловой системы используйтеfile:///
[ userChrome и userContent ] .css имеют наивысший приоритет, поэтому было бы неплохо проверить и папку chrome , напримерvar profChrmDir = FileUtils.getDir("UChrm", false, false); if( profExtDir.exists() || profChrmDir.exists() )
Chrome имен элементов и идентификаторы , Chrome URL - адреса , работа с хромированными URL - адресами
Другие инструменты и 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 reference , быстрый JS , JS
Запретить пользователям установку дополнений труднее в более поздних версиях Firefox. Firefox не учитывает предпочтение xpinstall.enabled в некоторых версиях. (Изменить: см. Комментарий ниже: они уважают это предпочтение с версии 31)
Подробную информацию о том, как изменить Firefox для предотвращения отображения диспетчера надстроек и как пользователи не могут устанавливать надстройки, можно найти в этой статье .
Инструкции не для слабонервных, но они работают; У меня есть 700 машин, заблокированных в среде К-8, используя эти указания.
Дополнительную информацию о блокировке настроек браузера смотрите в этой статье .