Esiste un modo per gli amministratori di disabilitare gli utenti dall'installazione delle estensioni di Firefox?


13

C'è un modo per disabilitare l'installazione delle estensioni di Firefox da parte di utenti non amministratori?

Risposte:


12

Una specie di. È possibile applicare le impostazioni di blocco con mozilla.cfg. Ciò, tuttavia, impedirà a tutti gli utenti di utilizzare le funzionalità bloccate. Gli amministratori possono ovviamente scambiare / estrarre il file di configurazione a piacimento.

Ecco l'elenco delle impostazioni che implementiamo tramite il blocco. È un ambiente K-12, quindi le tue esigenze probabilmente varieranno.

//
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);

Vedi anche le impostazioni di configurazione bloccate sui documenti ufficiali di Mozilla.org.


6

Questa è una variante, compilata dai dettagli utili @ MDN , MozillaZine , PCC-Services , Mike's Musings

Per bloccare / prevenire le estensioni (includerlo nel file di blocco (criteri) ):

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

Le doppie barre (//) all'esterno del codice indicano commenti.

lockPref()specifica una politica, ovvero obbligatoria - gli utenti non possono modificare, mentre defaultPref()o pref()specifica una preferenza, cioè non obbligatoria - gli utenti possono modificare il valore inizialmente impostato.

L'impostazione xpinstall.enabledsu false disabilita tutte le installazioni tramite (in esecuzione) Firefox, ovvero installazioni da siti Web, Strumenti> Componenti aggiuntivi> [Ottieni componenti aggiuntivi | Barra di ricerca | icona a forma di ingranaggio], File> Apri file e trascina la selezione. I formati di installazione sono .xpi e .jar.

L'impostazione extensions.enabledScopessu 0 disabilita tutte le posizioni (tranne la cartella utente (profilo) (Scope 1) e la cartella admin ) individuazione offline / manuale (una volta ad ogni avvio di Firefox).

La posizione ibrida (utente) Scope 1 (cartella "estensioni" del profilo utente) è l'unico archivio del primo metodo di installazione ed è obsoleta impostando xpinstall.enabled su false, ma non viene escluso (extensions.enabledScopes) come posizione scoperta (secondo metodo di installazione). Il secondo blocco di codice sopra genera un errore ogni volta che appare questa posizione e Firefox esce.

about: config , about: config Entries , estensione di descrizioni di configurazione , installazione di estensioni , posizioni speciali


Estensioni approvate

Per abilitare le estensioni approvate tramite Firefox install_directory \ browser \ extensions , impostare extensions.enabledScopessu 4 e aggiungerelockPref("extensions.autoDisableScopes", 11);

In alternativa (in Windows), per abilitare le estensioni approvate tramite il registro di Windows HKLM , impostare extensions.enabledScopessu 8 e extensions.autoDisableScopessu 7 . L'equivalente in GNU / Linux è / usr / share / mozilla / extensions / {ec8030f7-c20a-464f-9b0e-13a3a9e97384}

Per abilitare entrambe le posizioni, utilizzare rispettivamente 12 e 3 .

È anche possibile lockPref()o defaultPref()le impostazioni di quelle estensioni che integrano la loro configurazione in about: config; di solito le chiavi particolari in about: config includono il nome dell'estensione o parte del nome o em: id .


Negozio interno, estensioni centralizzate ( FoxyProxy come esempio):

Scarica e decomprimi FoxyProxy in una sottocartella di livello superiore in una condivisione di rete (ad es. Condivisione di rete FxExts e foxyproxy della sottocartella ). Quindi, rinominare la sottocartella foxyproxy con il valore tra i tag em: id nel file install.rdf decompresso - foxyproxy viene rinominato come foxyproxy@eric.h.jung .

Successivamente, in un file di testo immettere il percorso nella prima riga, ad esempio \\ server \ FxExts \ foxyproxy@eric.h.jung , e anche rinominare il file di testo (inclusa l'estensione .txt) con il valore em: id - Nuovo Text Document.txt è stato rinominato foxyproxy@eric.h.jung .

Questi file di testo possono essere distribuiti nella directory di installazione \ browser \ extensions di Firefox esistente o inclusi nel core \ browser \ extensions di Firefox Installer .

  • Ad ogni avvio Firefox passa attraverso i file di testo ed elimina (sotto gli account admin) qualsiasi errore o se la condivisione non è disponibile al momento. Per evitare ciò dopo il test, utilizzare i criteri di gruppo per [impostare Nega elimina le autorizzazioni per le cartelle delle estensioni e / o la cache offline della condivisione ( FxExts )].

In alternativa o in aggiunta tramite il registro HKLM: nome foxyproxy@eric.h.jung e Data \\ server \ FxExts \ foxyproxy@eric.h.jung

In uno o entrambi i casi (ambiti 4 e 8):

  • Per disabilitare un'estensione, rinominare install.rdf dell'estensione di destinazione in, ad esempio disabled.rdf.

  • Per aggiornare un'estensione, eliminare il contenuto nella sua sottocartella e decomprimere il nuovo XPI. Di solito l'unico em: id sarebbe uguale.

Se extensions.autoDisableScopesimpostato su 15 , gli utenti sarebbero in grado di cercare e attivare le estensioni preferite tramite Strumenti (Alt + T)> Componenti aggiuntivi: barra di ricerca. In alternativa, abilitare una posizione per le estensioni attivate automaticamente che lascerebbe l'altra per le estensioni attivate dall'utente (manualmente).


Filtro criteri (applica selettivamente le impostazioni nel file di blocco):

In Windows, negare l' autorizzazione Leggi dati su local-settings.js per gli utenti / i gruppi da esentare. Nei sistemi GNU / Linux un'opzione sarebbe quella di impostare le autorizzazioni di base di local-settings.js su 0600 (con root che è l'ug), aggiungere tutti gli utenti a un gruppo (ad esempio fxgrp) tralasciando gli utenti da escludere, e poisetfacl -m g:fxgrp:r local-settings.js

Si noti che l'utilizzo delle variabili di ambiente del sistema operativo non è sicuro in quanto può essere ignorato, a meno che non vengano implementate misure aggiuntive al di fuori del file di blocco (criterio).


Varie: la barra dei comandi della Console del browser può essere disabilitata da una regola CSS in un foglio di stile, ad es. .jsterm-input-container {display:none;}Per centralizzare questo foglio di stile tramite il file di blocco (criterio):

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 (foglio di stile) viene caricato anche in Modalità provvisoria di Firefox e può specificare sia le regole di Chrome (Firefox UI), sia quelle di contenuto ( pagine interne , pagine Web). Per NFS, supporti SMB o filesystem locali, utilizzarefile:///

[ userChrome e userContent ] .css hanno la precedenza più alta, quindi sarebbe bene controllare anche la cartella chrome , ad es.var profChrmDir = FileUtils.getDir("UChrm", false, false); if( profExtDir.exists() || profChrmDir.exists() )

Chrome nomi di elementi e gli ID , Chrome URL , di lavoro con URL chrome

Gli altri strumenti e GCLI possono essere disabilitati secondo necessità tramite il file lock (policy) - filtro per devtools*enabledin about: config.

Per i dettagli su nsInterfaces in Components.interfaces. * Consultare le interfacce XPCOM .

PS: per rilevare in modo affidabile errori e condizioni nel file .cfg di alcune edizioni di Firefox, potrebbe essere necessario inserire l'intero contenuto del blocco (politica) all'interno di un blocco try, ad es. try { var ...; lockPref(); } catch(e) { Components.utils.import("resource://gre/modules/Services.jsm"); Services.startup.quit(0x03); }Opzionalmente includere anche Services.prompt.alert(null, "Firefox", "Failed to start. Please inform the IT dept.");nel blocco catch (e) {}.

XPConnect , XPCOM interfacce , JSCM , omni.ja , riferimento JS , JS rapidi , JS


6

Impedire agli utenti di installare componenti aggiuntivi è più difficile nelle versioni successive di Firefox. Firefox non rispetta la preferenza xpinstall.enabled in alcune versioni. (Modifica: vedi commento sotto: rispettano questa preferenza dalla versione 31)

Per una descrizione dettagliata di come modificare Firefox per impedire la visualizzazione di Add-on Manager e come impedire agli utenti di installare componenti aggiuntivi, consulta questo articolo .

Le istruzioni non sono per i deboli di cuore, ma funzionano; Ho 700 macchine bloccate in un ambiente K-8 usando queste indicazioni.

Per ulteriori informazioni sul blocco delle impostazioni del browser, consulta questo articolo .


Ottima risposta di follow-up. Il nostro distretto sta cercando di abbandonare Firefox per queste esatte difficoltà di configurazione. Con Google che inizia a offrire i propri oggetti Criteri di gruppo , è probabile che Chrome diventi l'alternativa IE su tutti i computer.
jscott,

1
Firefox infatti onora "xpinstall.enabled" a partire da Firefox 31.
Justin Skiles
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.