C'è un modo per disabilitare l'installazione delle estensioni di Firefox da parte di utenti non amministratori?
C'è un modo per disabilitare l'installazione delle estensioni di Firefox da parte di utenti non amministratori?
Risposte:
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.
Questa è una variante, compilata dai dettagli utili @ 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
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.enabled
su 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.enabledScopes
su 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
Per abilitare le estensioni approvate tramite Firefox install_directory \ browser \ extensions , impostare extensions.enabledScopes
su 4 e aggiungerelockPref("extensions.autoDisableScopes", 11);
In alternativa (in Windows), per abilitare le estensioni approvate tramite il registro di Windows HKLM , impostare extensions.enabledScopes
su 8 e extensions.autoDisableScopes
su 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 .
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 .
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.autoDisableScopes
impostato 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).
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*enabled
in 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
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 .