Können Administratoren Benutzer daran hindern, Firefox-Erweiterungen zu installieren?

13

Gibt es eine Möglichkeit, die Installation von Firefox-Erweiterungen durch Benutzer ohne Administratorrechte zu deaktivieren?

Victor Rodrigues
quelle

Antworten:

12

Art von. Sie können mit mozilla.cfg Sperreinstellungen vornehmen. Dies verhindert jedoch, dass alle Benutzer gesperrte Funktionen verwenden. Administratoren können die Konfigurationsdatei natürlich nach Belieben austauschen.

Hier ist die Liste der Einstellungen, die wir über die Sperre bereitstellen. Da es sich um eine K-12-Umgebung handelt, variieren Ihre Anforderungen wahrscheinlich.

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

Beachten Sie auch die gesperrten Konfigurationseinstellungen in den offiziellen Mozilla.org-Dokumenten.

jscott
quelle
6

Dies ist eine Variante, die aus den hilfreichen Informationen von MDN , MozillaZine , PCC-Services und Mike's Musings zusammengestellt wurde

So blockieren / verhindern Sie Erweiterungen (fügen Sie diese in die Sperrdatei (Richtliniendatei) ein ):

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

Doppelte Schrägstriche (//) außerhalb des Codes kennzeichnen Kommentare.

lockPref()Gibt eine Politik also obligatorisch - Benutzer kann nicht ändern, während defaultPref()oder pref()spezifiziert eine Präferenz dh nonmandatory - Benutzer den ursprünglich eingestellten Wert ändern können.

Einstellen xpinstall.enabledauf falsch deaktiviert alle Installationen durch (Laufen) Firefox, dh Installationen von Websites, Extras> Add-ons> [Get Add-ons | Suchleiste | Zahnradsymbol], "Datei"> "Datei öffnen" und "Ziehen und Ablegen". Installer-Formate sind .xpi und .jar.

Bei Einstellung extensions.enabledScopesauf 0 werden alle (außer Benutzer- (Profil-) Ordner (Bereich 1) und Administratorordner ) offline / manuell (einmal bei jedem Firefox-Start) gefundenen Speicherorte deaktiviert .

Der hybride Speicherort von (Benutzer-) Bereich 1 (Benutzerprofil-Erweiterungsordner) ist der einzige Speicherort der ersten Installationsmethode und wird durch Festlegen von xpinstall.enabled auf false veraltet, wird jedoch nicht als erkannter Speicherort (extensions.enabledScopes) festgelegt (zweite Installationsmethode). Der zweite obige Codeblock löst einen Fehler aus, wenn dieser Speicherort angezeigt wird und Firefox beendet wird.

about: config , about: config - Einträge , Config Beschreibungen Erweiterung , Installation von Erweiterungen , Sonderstandorte


Genehmigte Erweiterungen

Um genehmigte Erweiterungen über das Firefox- Installationsverzeichnis \ browser \ extensions zu aktivieren , setzen Sie extensions.enabledScopesden Wert auf 4 und fügen Sie hinzulockPref("extensions.autoDisableScopes", 11);

Alternativ (in Windows), um zu ermöglichen , Erweiterungen über Windows - Registrierung genehmigt HKLM , eingestellt extensions.enabledScopesauf 8 und extensions.autoDisableScopesbis 7 . Das Äquivalent in GNU / Linux ist / usr / share / mozilla / extensions / {ec8030f7-c20a-464f-9b0e-13a3a9e97384}.

Verwenden Sie 12 bzw. 3, um beide Speicherorte zu aktivieren .

Es ist auch möglich, lockPref()oder defaultPref()die Einstellungen der Erweiterungen, die ihre Konfiguration in etwa integrieren: config; Normalerweise enthalten die speziellen Schlüssel in about: config den Erweiterungsnamen oder einen Teil des Namens oder der em: id .


Interner Speicher, zentralisierte Erweiterungen ( FoxyProxy als Beispiel):

Laden Sie FoxyProxy herunter und entpacken Sie es in einen Unterordner der obersten Ebene in einer Netzwerkfreigabe (z. B. FxExts für die Netzwerkfreigabe und foxyproxy für den Unterordner ). Benennen Sie als Nächstes den Unterordner foxyproxy mit dem Wert zwischen den Tags em: id in der entpackten Datei install.rdf um - foxyproxy wird in [email protected] umbenannt .

Geben Sie als Nächstes in einer Textdatei den Pfad in der ersten Zeile ein, dh \\ server \ FxExts \ [email protected] , und benennen Sie die Textdatei (einschließlich der Erweiterung .txt) mit dem Wert em: id - New um Text Document.txt wird in [email protected] umbenannt .

Diese Textdateien können an das vorhandene Firefox- Installationsverzeichnis \ browser \ extensions verteilt werden oder im Firefox-Installationsverzeichnis core \ browser \ extensions enthalten sein .

  • Bei jedem Start durchsucht Firefox die Textdateien und löscht (unter Administratorkonten) alle fehlerhaften oder momentan nicht verfügbaren Dateien. Um dies nach dem Testen zu verhindern, verwenden Sie die Gruppenrichtlinie, um [ Löschberechtigungen für die Erweiterungsordner verweigern und / oder die Freigabe offline zwischenspeichern ( FxExts )] festzulegen .

Alternativ oder zusätzlich über die Registrierung HKLM: Name [email protected] und Data \\ server \ FxExts \ [email protected]

In einem oder beiden Fällen (Bereiche 4 und 8):

  • Um eine Erweiterung zu deaktivieren, benennen Sie die Datei install.rdf der Zielerweiterung in beispielsweise disabled.rdf um.

  • Um eine Erweiterung zu aktualisieren, löschen Sie den Inhalt in ihrem Unterordner und entpacken Sie das neue XPI. Normalerweise ist die eindeutige em: id dieselbe.

Wenn extensions.autoDisableScopesauf 15 gesetzt ist , können Benutzer bevorzugte Erweiterungen über Extras (Alt + T)> Add-Ons: Suchleiste suchen und aktivieren. Alternativ können Sie einen Standort für automatisch aktivierte Nebenstellen aktivieren, während der andere Standort für vom Benutzer (manuell) aktivierte Nebenstellen verbleibt.


Richtlinienfilterung (Einstellungen in der Sperrdatei selektiv anwenden):

Verweigern Sie unter Windows die Berechtigung zum Lesen von Daten in local-settings.js, damit Benutzer / Gruppen davon ausgenommen werden. In GNU / Linux-Systemen besteht eine Möglichkeit darin, die Basisberechtigungen von local-settings.js auf 0600 zu setzen (wobei root das ug ist), alle Benutzer zu einer Gruppe hinzuzufügen (z. B. fxgrp) und die zu befreienden Benutzer wegzulassen. und dannsetfacl -m g:fxgrp:r local-settings.js

Beachten Sie, dass die Verwendung von Betriebssystemumgebungsvariablen nicht sicher ist, da sie umgangen werden kann, sofern keine zusätzlichen Maßnahmen außerhalb der Sperrdatei (Richtliniendatei) implementiert werden.


Misc .: Die Browser - Konsole ‚s Befehlsleiste kann durch eine CSS - Regel in einem Stylesheet zB deaktiviert werden , .jsterm-input-container {display:none;}um dieses Stylesheet über Sperre (Politik) Datei zu zentralisieren:

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 ( Stylesheet ) wird auch im abgesicherten Modus von Firefox geladen und kann sowohl Regeln für Chrome (Firefox-Benutzeroberfläche) als auch für Inhalte ( interne Seiten , Webseiten) festlegen. Verwenden Sie für NFS- oder SMB-Bereitstellungen oder für das lokale Dateisystemfile:///

[ userChrome und userContent ] .css haben die höchste Priorität, daher ist es sinnvoll, auch nach dem Chrome- Ordner zu suchen , zvar profChrmDir = FileUtils.getDir("UChrm", false, false); if( profExtDir.exists() || profChrmDir.exists() )

Chrome-Elementnamen und -IDs , Chrome-URLs , Arbeiten mit Chrome-URLs

Die anderen Tools und die GCLI können nach Bedarf über den Sperrdatei (Richtlinien) -Filter für devtools*enabledin about: config deaktiviert werden .

Einzelheiten zu den nsInterfaces in Components.interfaces. * Finden Sie unter XPCOM-Interfaces .

PS: Um Fehler und Bedingungen in der .cfg-Datei einiger Firefox-Editionen zuverlässig abzufangen, muss möglicherweise der gesamte Inhalt der Sperre (Richtlinie) in einem try-Block abgelegt werden, z. B. try { var ...; lockPref(); } catch(e) { Components.utils.import("resource://gre/modules/Services.jsm"); Services.startup.quit(0x03); }Optional auch Services.prompt.alert(null, "Firefox", "Failed to start. Please inform the IT dept.");im catch (e) {} -Block.

XPConnect , XPCOM-Schnittstellen , JSCM , omni.ja , JS-Referenz , Quick-JS , JS

U / min vWil
quelle
6

Das Verhindern, dass Benutzer Addons installieren, ist in späteren Versionen von Firefox schwieriger. Firefox berücksichtigt die Einstellung xpinstall.enabled in einigen Versionen nicht. (Bearbeiten: siehe Kommentar unten: Diese Präferenz wird ab Version 31 eingehalten.)

Ausführliche Informationen zum Ändern von Firefox, um die Anzeige des Add-On-Managers zu verhindern, und zum Verhindern, dass Benutzer Add-Ons installieren, finden Sie in diesem Artikel .

Die Anweisungen sind nicht für schwache Nerven, aber sie funktionieren; Ich habe 700 Maschinen in einer K-8-Umgebung mit diesen Anweisungen gesperrt.

Weitere Informationen zum Sperren von Browsereinstellungen finden Sie in diesem Artikel .

Tim Dearborn
quelle
Großartige Follow-up-Antwort. Unser Distrikt versucht, Firefox für genau diese Konfigurationsschwierigkeiten zu entschärfen. Mit dem Start von Google, eigene Gruppenrichtlinienobjekte anzubieten , wird Chrome wahrscheinlich die IE-Alternative auf allen Computern.
Jscott
1
Firefox ehrt tatsächlich "xpinstall.enabled" ab Firefox 31.
Justin Skiles