Czy istnieje sposób na wyłączenie instalacji rozszerzeń Firefox przez użytkowników niebędących administratorami?
Czy istnieje sposób na wyłączenie instalacji rozszerzeń Firefox przez użytkowników niebędących administratorami?
Odpowiedzi:
Raczej. Możesz zastosować ustawienia blokady za pomocą mozilla.cfg. To jednak uniemożliwi wszystkim użytkownikom korzystanie z zablokowanych funkcji. Administratorzy mogą oczywiście dowolnie zamieniać plik konfiguracyjny.
Oto lista ustawień, które wdrażamy za pomocą blokady. Jest to środowisko K-12, więc Twoje potrzeby prawdopodobnie będą się różnić.
//
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);
Zobacz także zablokowane ustawienia konfiguracji w oficjalnych dokumentach Mozilla.org.
Jest to odmiana skompilowana z pomocnych szczegółów @ 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
Podwójne ukośniki (//) poza kodem oznaczają komentarze.
lockPref()
Określa polityka czyli obowiązkowych - Użytkownicy nie mogą modyfikować, podczas
defaultPref()
lub pref()
Określa preferencji tj nonmandatory - użytkownicy mogą modyfikować początkowo ustawiona wartość.
Ustawienie wartości falsexpinstall.enabled
powoduje wyłączenie wszystkich instalacji za pośrednictwem (uruchomionego) Firefoksa, tj. Instalacji ze stron internetowych, Narzędzia> Dodatki> [Pobierz dodatki | Pasek wyszukiwania | ikona koła zębatego], Plik> Otwórz plik i przeciągnij i upuść. Formaty instalatora to .xpi i .jar.
Ustawienie extensions.enabledScopes
na 0 wyłącza wszystkie (oprócz użytkownika (profil) folderu (zakres 1) , i folderów administrator ) zalogowany / instrukcja odkrycie (raz na każde Firefoksa starcie) lokalizacjach.
Lokalizacja hybrydowa (użytkownika) Scope 1 (folder „rozszerzeń” profilu użytkownika) jest jedynym magazynem pierwszej metody instalacji i jest przestarzała, ustawiając xpinstall.enabled na false, ale nie jest wykrywana (extensions.enabledScopes) jako wykryta lokalizacja (druga metoda instalacji). Drugi blok kodu powyżej generuje błąd za każdym razem, gdy pojawia się ta lokalizacja, a Firefox kończy działanie.
about: config , about: config Wpisy , rozszerzenie Config Descriptions , instalowanie rozszerzeń , specjalne lokalizacje
Aby włączyć zatwierdzone rozszerzenia przez Firefox katalog_instalacyjny \ przeglądarka \ rozszerzenia , ustaw extensions.enabledScopes
na 4 i dodajlockPref("extensions.autoDisableScopes", 11);
Alternatywnie (w systemie Windows), aby włączyć zatwierdzone rozszerzenia za pomocą rejestru Windows HKLM , ustaw extensions.enabledScopes
na 8 i extensions.autoDisableScopes
na 7 . Odpowiednikiem w GNU / Linux jest / usr / share / mozilla / extensions / {ec8030f7-c20a-464f-9b0e-13a3a9e97384}
Aby włączyć obie lokalizacje, użyj odpowiednio 12 i 3 .
Jest również możliwe lockPref()
lub defaultPref()
ustawienia tych rozszerzeń, które integrują ich konfiguracji w about: config; zwykle poszczególne klucze w about: config zawierałyby nazwę rozszerzenia lub część nazwy lub em: id .
Pobierz i rozpakuj FoxyProxy do podfolderu najwyższego poziomu w udziale sieciowym (np. FxExts udziału sieciowego i podfolder foxyproxy ). Następnie zmień nazwę podfolderu foxyproxy na wartość między znacznikami em: id w rozpakowanym pliku install.rdf - nazwa foxyproxy zostaje zmieniona na foxyproxy@eric.h.jung .
Następnie w pliku tekstowym wprowadź ścieżkę w pierwszym wierszu, tj. \\ server \ FxExts \ foxyproxy@eric.h.jung , a także zmień nazwę pliku tekstowego (w tym rozszerzenie .txt) na wartość em: id - Nowość Tekst Document.txt zostaje przemianowany na foxyproxy@eric.h.jung .
Te pliki tekstowe mogą być dystrybuowane do istniejącego katalogu katalog_instalacyjny \ przeglądarki \ rozszerzenia Firefox lub zawarte w jądrze instalatora Firefox \ przeglądarka \ rozszerzenia .
Alternatywnie lub dodatkowo za pośrednictwem rejestru HKLM: Nazwa foxyproxy@eric.h.jung i Data \\ server \ FxExts \ foxyproxy@eric.h.jung
W obu przypadkach (zakres 4 i 8):
Aby wyłączyć rozszerzenie, zmień nazwę pliku install.rdf rozszerzenia docelowego na, na przykład disabled.rdf.
Aby zaktualizować rozszerzenie, usuń zawartość w podfolderze i rozpakuj nowy XPI. Zwykle unikalny em: id byłby taki sam.
Jeśli extensions.autoDisableScopes
jest ustawiony na 15 , użytkownicy będą mogli wyszukiwać i aktywować preferowane rozszerzenia za pomocą Narzędzia (Alt + T)> Dodatki: Pasek wyszukiwania. Alternatywnie, włącz jedną lokalizację dla automatycznie aktywowanych rozszerzeń, które pozostawią drugą dla użytkowników (ręcznie) aktywowanych rozszerzeń.
W systemie Windows odmów uprawnień do odczytu danych w pliku local-settings.js, aby użytkownicy / grupy zostali zwolnieni. W systemach GNU / Linux jedną z opcji byłoby ustawienie podstawowych uprawnień local-settings.js na 0600 (z rootem jako ug), dodanie wszystkich użytkowników do grupy (np. Fxgrp) z pominięciem użytkowników, którzy mają być zwolnieni, i wtedysetfacl -m g:fxgrp:r local-settings.js
Należy pamiętać, że używanie zmiennych środowiskowych systemu operacyjnego jest niebezpieczne, ponieważ można je ominąć, chyba że zostaną wprowadzone dodatkowe środki poza plikiem blokady (zasad).
Różne: pasek poleceń konsoli przeglądarki można wyłączyć za pomocą reguły CSS w arkuszu stylów, np. .jsterm-input-container {display:none;}
Aby scentralizować ten arkusz stylów za pomocą pliku blokady (zasad):
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 (arkusz stylów) jest również ładowany w trybie awaryjnym Firefoksa i może określać zarówno zasady chrome (Firefox UI), jak i treść ( strony wewnętrzne, strony internetowe). W przypadku podłączeń NFS, SMB lub lokalnego systemu plików użyjfile:///
[ userChrome i userContent ] .css mają najwyższy priorytet, więc dobrze byłoby też sprawdzić folder chrome , np.var profChrmDir = FileUtils.getDir("UChrm", false, false); if( profExtDir.exists() || profChrmDir.exists() )
Chrome nazwy i identyfikatory elementów , chrome URL , Working with Chrome URL
Inne narzędzia i GCLI można wyłączyć zgodnie z potrzebami za pomocą pliku blokady (polityki) - filtr dla devtools*enabled
about: config.
Aby uzyskać szczegółowe informacje na temat nsInterfaces w Components.interfaces. * Zobacz interfejsy XPCOM .
PS: Aby niezawodnie wychwycić błędy i warunki w pliku .cfg niektórych wydań Firefoksa, może być konieczne umieszczenie całej zawartości blokady (polityki) w bloku try, np. try { var ...; lockPref(); } catch(e) { Components.utils.import("resource://gre/modules/Services.jsm"); Services.startup.quit(0x03); }
Opcjonalnie również Services.prompt.alert(null, "Firefox", "Failed to start. Please inform the IT dept.");
w bloku catch (e) {}.
XPConnect , interfejsy XPCOM , JSCM , omni.ja , odniesienie JS , szybkie JS , JS
Zapobieganie instalowaniu dodatków przez użytkowników jest trudniejsze w późniejszych wersjach Firefoksa. Firefox nie honoruje preferencji xpinstall.enabled w niektórych wersjach. (Edycja: patrz komentarz poniżej: przestrzegają tych preferencji od wersji 31)
Szczegółowy opis modyfikowania Firefoksa, aby nie wyświetlał się Menedżer dodatków i jak użytkownicy nie mogli instalować dodatków, przeczytaj ten artykuł .
Instrukcje nie są dla osób o słabym sercu, ale działają; Mam 700 maszyn zamkniętych w środowisku K-8 przy użyciu tych wskazówek.
Więcej informacji na temat blokowania ustawień przeglądarki znajduje się w tym artykule .