Yöneticilerin kullanıcıların Firefox uzantılarını yüklemelerini devre dışı bırakmasının bir yolu var mı?


13

Yönetici olmayan kullanıcılar tarafından Firefox uzantılarının yüklenmesini devre dışı bırakmanın bir yolu var mı?

Yanıtlar:


12

Bir çeşit. Kilitleme ayarlarını mozilla.cfg ile uygulayabilirsiniz. Ancak bu, tüm kullanıcıların kilitli özellikleri kullanmasını engelleyecektir . Yöneticiler elbette yapılandırma dosyasını istediği gibi değiştirebilir / çıkarabilir.

Kilitle dağıttığımız ayarların listesi. Bu bir K-12 ortamı, bu yüzden ihtiyaçlarınız muhtemelen değişecektir.

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

Ayrıca resmi Mozilla.org belgelerinde bulunan kilitli yapılandırma ayarlarına bakın .


6

MDN , MozillaZine , PCC-Services , Mike's Musings'in yararlı detaylarından derlenmiş bir varyasyon.

Uzantıları engellemek / önlemek için (bunu kilit (ilke) dosyasına ekleyin ):

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

Dış kod çift eğik çizgi (//) yorumları gösterir.

lockPref()belirtir bir politika zorunlu yani - oysa kullanıcılar, değiştiremez defaultPref()veya pref()bir belirtir tercihi kullanıcılar başlangıçta set değerini değiştirebilir - yani nonmandatory.

False değerine ayarlamak xpinstall.enabled, Firefox (ör. Web sitelerinden yüklemeler) aracılığıyla tüm yüklemeleri devre dışı bırakır, Araçlar> Eklentiler> [Eklentileri Al | Arama çubuğu | dişli çark simgesi], Dosya> Dosya Aç ve sürükleyip bırakma yöntemini kullanın. Yükleyici biçimleri .xpi ve .jar şeklindedir.

Ayar extensions.enabledScopesiçin 0 devre dışı bırakır tüm (hariç kullanıcı (profil) klasörüne (Kapsam 1) ve yönetici klasör ) çevrimdışı / manuel keşif yerleri (her Firefox başlangıç birden).

(Kullanıcı) Kapsam 1 karma konumu (kullanıcı profili 'uzantıları' klasörü) ilk yükleme yönteminin tek deposudur ve xpinstall.enabled öğesini false olarak ayarlayarak kullanılmaz, ancak keşfedilmeyen bir konum olarak kapsam dışı bırakılır (extensions.enabledScopes). (ikinci kurulum yöntemi). Yukarıdaki ikinci kod bloğu, bu konum her görüntülendiğinde bir hata atar ve Firefox çıkar.

about: config , hakkında: config Girişler , Yapılandırma Açıklamaları uzantısı , Uzantıları yükleme , Özel konumlar


Onaylanmış uzantılar

Firefox kuruluş_dizini \ tarayıcı \ uzantıları aracılığıyla onaylanan uzantıları etkinleştirmek extensions.enabledScopesiçin 4 olarak ayarlayın ve ekleyinlockPref("extensions.autoDisableScopes", 11);

Alternatif (Windows'ta), Windows kayıt yoluyla uzantıları onaylı etkinleştirin için HKLM ayarlayın extensions.enabledScopesüzere 8 ve extensions.autoDisableScopeskarşı 7 . GNU / Linux'taki eşdeğer / usr / share / mozilla / extensions / {ec8030f7-c20a-464f-9b0e-13a3a9e97384}

Her iki konumu da etkinleştirmek için , sırasıyla 12 ve 3'ü kullanın .

Bu da mümkündür lockPref()ya da defaultPref()yaklaşık onların yapılandırmasını entegre olan uzantıları ayarları: config; genellikle about: config içindeki belirli anahtarlar, uzantı adını veya adın bir bölümünü veya em: id öğesini içerir .


Dahili mağaza, Merkezi uzantılar ( örnek olarak FoxyProxy ):

FoxyProxy'yi bir ağ paylaşımındaki en üst düzey bir alt klasöre indirin ve açın (örn. Ağ paylaşımı FxExts ve alt klasör foxyproxy ). Sonra, yeniden adlandırma FoxyProxy arasındaki değerle alt klasör em: id Unzipped etiketleri install.rdf dosyası - FoxyProxy olarak yeniden adlandırıldı foxyproxy@eric.h.jung .

Daha sonra, bir metin dosyasına yolu ilk satıra girin, yani \\ sunucu \ FxExts \ foxyproxy@eric.h.jung ve ayrıca metin dosyasını (.txt uzantısı dahil) em: id değeriyle yeniden adlandırın - Yeni Metin Document.txt adı foxyproxy@eric.h.jung olarak yeniden adlandırılmıştır .

Bu metin dosyaları mevcut Firefox yükleme_dizini \ tarayıcı \ uzantılarına dağıtılabilir veya Firefox yükleyici çekirdek \ tarayıcı \ uzantılarına eklenebilir .

  • Her başlangıçta Firefox metin dosyalarını gözden geçirir ve herhangi bir hatayla veya paylaşım o anda kullanılamıyorsa (yönetici hesapları altında) siler. Test sonrasında Bunu önlemek için, şu kullanım grup politikası [sette Reddet üzerine silme izinleri uzantıları klasör ve / veya çevrimdışı önbellek payı ( FxExts )].

Alternatif olarak veya ek olarak HKLM kayıt defteri aracılığıyla: Name foxyproxy@eric.h.jung ve Data \\ server \ FxExts \ foxyproxy@eric.h.jung

Her iki durumda veya her iki durumda (Kapsam 4 ve 8):

  • Bir uzantıyı devre dışı bırakmak için, hedef uzantının install.rdf dosyasını yeniden adlandırın, örneğin disabled.rdf.

  • Bir uzantıyı güncellemek için alt klasöründeki içeriği silin ve yeni XPI'yı paketinden çıkarın. Genellikle benzersiz em: id aynı olurdu.

Eğer extensions.autoDisableScopesayarlandığında 15 , kullanıcılar için arama yapabilmek ve Araçlar (Alt + T)> Eklentiler aracılığıyla tercih uzantıları aktive olur: Arama çubuğu. Alternatif olarak, otomatik olarak etkinleştirilen uzantılar için bir konumu etkinleştirin, diğerini kullanıcı tarafından (manuel olarak) etkinleştirilen uzantılar için bırakın.


Politika filtreleme (ayarları kilit dosyasında seçici olarak uygulayın):

Windows, Deny veri okuma izni yerel-settings.js kullanıcılar / gruplar için muaf tutulması için. GNU / Linux sistemlerinde bir seçenek, local-settings.js'nin temel izinlerini 0600 (kök ug olacak şekilde) olarak ayarlamak, tüm kullanıcıları bir gruba (örn. Fxgrp) eklemek için muaf tutulan kullanıcıları dışarıda bırakmak, ve sonrasetfacl -m g:fxgrp:r local-settings.js

Kilit (ilke) dosyasının dışında ek önlemler alınmadığı sürece, OS ortam değişkenlerini kullanmanın atlanabileceği için güvenli olmadığını lütfen unutmayın.


Diğer .: Tarayıcı Konsolu'nun komut çubuğu, stil sayfasındaki bir CSS kuralı tarafından devre dışı bırakılabilir, örn. .jsterm-input-container {display:none;}Bu stil sayfasını kilit (ilke) dosyası aracılığıyla merkezileştirmek için:

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 (stil sayfası) Firefox Güvenli Mod'da da yüklenir ve hem krom (Firefox UI) hem de içerik ( dahili sayfalar , web sayfaları) kurallarını belirtebilir . NFS veya SMB bağlantıları veya yerel dosya sistemi için şunu kullanın:file:///

[ userChrome ve userContent ] .css en yüksek önceliğe sahiptir, bu nedenle chrome klasörünü de kontrol etmek iyi olur , örn.var profChrmDir = FileUtils.getDir("UChrm", false, false); if( profExtDir.exists() || profChrmDir.exists() )

Chrome öğesi adları ve kimlikleri , Chrome URL'leri , Chrome URL'leriyle çalışma

Diğer araçlar ve GCLI , devtools*enabledabout: config için kilit (ilke) dosya filtresi aracılığıyla gerektiği gibi devre dışı bırakılabilir .

Components.interfaces. * İçindeki nsInterfaces ile ilgili ayrıntılar için lütfen XPCOM arabirimlerine bakın .

Not: Bazı Firefox sürümlerinin .cfg dosyasındaki hataları ve koşulları güvenilir bir şekilde yakalamak için, tüm kilit (ilke) içeriğinin bir try bloğuna konulması gerekebilir, örneğin try { var ...; lockPref(); } catch(e) { Components.utils.import("resource://gre/modules/Services.jsm"); Services.startup.quit(0x03); }İsteğe bağlı Services.prompt.alert(null, "Firefox", "Failed to start. Please inform the IT dept.");olarak catch (e) {} bloğuna da dahil edilebilir.

XPConnect , XPCOM arayüzleri , JSCM , omni.ja , JS referansı , hızlı JS , JS


6

Firefox'un sonraki sürümlerinde kullanıcıların eklenti yüklemelerini engellemek daha zordur. Firefox, bazı sürümlerde xpinstall.enabled tercihini yerine getirmez. (Düzenle: aşağıdaki yoruma bakın: 31 sürümünden itibaren bu tercihi yerine getiriyorlar)

Eklenti Yöneticisi'nin görüntülenmesini önlemek ve kullanıcıların eklentileri yüklemesini önlemek için Firefox'u nasıl değiştireceğiniz hakkında ayrıntılı bir yazı için bu makaleye göz atın .

Talimatlar kalbin zayıflığı için değil, işe yarıyorlar; Bu talimatları kullanarak K-8 ortamında kilitli 700 makinem var.

Tarayıcı ayarlarını kilitleme hakkında daha fazla bilgi için bu makaleye göz atın .


Harika takip cevabı. Bölgemiz bu kesin yapılandırma zorlukları için Firefox'u terk etmek istiyor. Google kendi GPO'larını sunmaya başladığında, Chrome'un tüm makinelerde IE alternatifi olması muhtemeldir.
jscott

1
Firefox aslında Firefox 31'den itibaren "xpinstall.enabled" onuruna sahiptir.
Justin Skiles
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.