Чи існує спосіб адміністраторам відключити користувачів від встановлення розширень Firefox?


13

Чи є спосіб відключити встановлення розширень Firefox користувачами, які не є адміністратором?

Відповіді:


12

Типу. Налаштування блокування можна застосувати за допомогою 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.


6

Це варіант, складений з корисних деталей @ MDN , MozillaZine , PCC-Services , Майка Музінга

Щоб заблокувати / запобігти розширення (включити це у файл блокування (політика) ):

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значення false, вимикає всі установки через (запущений) Firefox, тобто установки з веб-сайтів, Інструменти> Додатки> [Отримати додатки | Рядок пошуку | значок шестірні], Файл> Відкрити файл та перетягнути. Формати інсталятора - .xpi та .jar.

Установка extensions.enabledScopesв 0 відключає все (крім користувача (профіль) папки (Scope 1) , і адміністратора папки ) в автономному режимі / ручне відкриття (один раз на кожному Firefox при запуску) місцях.

Гібридне місце (користувач) Сфера 1 (папка користувача "папка розширень") є єдиним сховищем першого способу інсталяції і застаріло, встановивши xpinstall.enabled на помилкове, але воно не визначено (extensions.enabledScopes) як виявлене місце (другий спосіб установки). Другий блок коду вище видає помилку щоразу, коли з’являється це місце, і Firefox виходить.

about: config , about: config Записи , Розширення Config Descriptions , Установка розширень , Special names


Дозволені розширення

Щоб увімкнути затверджені розширення через Firefox install_directory \ browser \ extensions , встановіть 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()налаштувати ті розширення, які інтегрують їх конфігурацію приблизно в: config; зазвичай конкретні ключі в about: config включають ім'я розширення або частину імені або em: id .


Внутрішній магазин, централізовані розширення ( FoxyProxy як приклад):

Завантажте та розпакуйте 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 install_directory \ браузер \ розширення або включені до ядра установки \ браузера \ розширення Firefox .

  • При кожному запуску Firefox проходить через текстові файли та видаляє (під обліковими записами адміністратора) будь-яку помилку або якщо на цей момент поділка недоступна. Щоб запобігти цьому після тестування, використовуйте групову політику, щоб [встановити Заборонити видалити дозволи на папки розширень та / або офлайн кешувати спільну частку ( FxExts )].

Альтернативно або додатково через реєстр HKLM: ім'я foxyproxy@eric.h.jung та дані \\ сервер \ 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 , і він може визначати як правила хромування (Firefox UI), так і вмісту ( внутрішні сторінки , веб-сторінки). Використовуйте для монтажу NFS, SMB або локальної файлової системиfile:///

[ userChrome та userContent ] .css мають найвищий пріоритет, тому було б добре перевірити також хромовану папку, наприклад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 { 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


6

Забороняти користувачам встановлювати додатки складніше в пізніших версіях Firefox. У деяких версіях Firefox не враховує перевагу xpinstall.enabled. (Редагувати: див. Коментар нижче: вони шанують цю перевагу станом на версію 31)

Щоб отримати докладні відомості про те, як змінити Firefox, щоб запобігти появі диспетчера надбудови та як запобігти встановленню додатків, користувачі перегляньте цю статтю .

Інструкції не для слабкого серця, але вони діють; У мене 700 машин, замкнених у середовищі К-8, використовуючи ці вказівки.

Для отримання додаткової інформації про блокування налаштувань браузера, перегляньте цю статтю .


Чудова відповідь. Наш район шукає виривати Firefox для цих точних конфігураційних труднощів. Коли Google починає пропонувати власні GPO , Chrome, швидше за все, стане альтернативою IE на всіх машинах.
jscott

1
Firefox насправді вшановує "xpinstall.enabled" станом на Firefox 31.
Джастін Скілз
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.