Apakah ada cara untuk menonaktifkan instalasi ekstensi Firefox oleh pengguna non-admin?
Semacam. Anda dapat menerapkan pengaturan penguncian dengan mozilla.cfg. Namun, ini akan mencegah semua pengguna menggunakan fitur terkunci. Administrator tentu saja dapat menukar masuk / keluar file konfigurasi sesuka hati.
Berikut daftar pengaturan yang kami gunakan melalui penguncian. Ini adalah lingkungan K-12, jadi kebutuhan Anda kemungkinan akan beragam.
//
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);
Lihat juga pengaturan konfigurasi yang dikunci pada dokumen resmi Mozilla.org.
Ini adalah variasi, yang disusun dari detail yang bermanfaat @ MDN , MozillaZine , PCC-Services , Mike 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
Garis miring ganda (//) di luar kode menunjukkan komentar.
lockPref()
menetapkan kebijakan yaitu wajib - pengguna tidak dapat memodifikasi, sedangkan
defaultPref()
atau pref()
menentukan a preferensi yaitu tidak wajib - pengguna dapat memodifikasi nilai yang ditetapkan pada awalnya.
Pengaturan xpinstall.enabled
untuk false menonaktifkan semua instalasi melalui (menjalankan) Firefox, yaitu instalasi dari situs web, Alat> Pengaya> [Dapatkan Pengaya | Bilah pencarian | ikon gir], File> Buka File, dan seret-n'-drop. Format penginstal adalah .xpi dan .jar.
Pengaturan extensions.enabledScopes
ke 0 menonaktifkan semua (kecuali pengguna (profil) folder (Cakupan 1) , dan folder admin ) offline / pencarian manual (sekali di setiap startup Firefox) lokasi.
The (pengguna) Lingkup 1 lokasi hybrid (folder 'ekstensi' profil pengguna) adalah satu-satunya penyimpanan metode instalasi pertama dan usang dengan menetapkan xpinstall. Diaktifkan ke false, tetapi tidak dicopot keluar (extensions.enabledScopes) sebagai lokasi yang ditemukan (metode instalasi kedua). Blok kode kedua di atas melempar kesalahan setiap kali lokasi ini muncul, dan Firefox keluar.
about: config , about: config Entries , Config Deskripsi ekstensi , Menginstal ekstensi , Lokasi khusus
Untuk mengaktifkan ekstensi yang disetujui melalui Firefox install_directory \ browser \ extensions , atur extensions.enabledScopes
ke 4 , & tambahkanlockPref("extensions.autoDisableScopes", 11);
Atau (di Windows), untuk mengaktifkan ekstensi yang disetujui melalui HKLM registri Windows , atur extensions.enabledScopes
ke 8 , dan extensions.autoDisableScopes
ke 7 . Setara dengan GNU / Linux adalah / usr / share / mozilla / extensions / {ec8030f7-c20a-464f-9b0e-13a3a9e97384}
Untuk mengaktifkan kedua lokasi, gunakan masing-masing 12 , dan 3 .
Mungkin juga untuk lockPref()
atau defaultPref()
pengaturan ekstensi yang mengintegrasikan konfigurasi mereka di about: config; biasanya kunci tertentu di about: config akan menyertakan nama ekstensi atau bagian dari nama atau em: id .
Unduh dan unzip FoxyProxy ke dalam subfolder tingkat atas dalam jaringan berbagi (mis. Jaringan berbagi FxExts , dan subfolder foxyproxy ). Selanjutnya, ganti nama subfolder foxyproxy dengan nilai antara tag em: id di file install.rdf yang tidak di- zip - foxyproxy diubah namanya menjadi [email protected] .
Selanjutnya, dalam file teks masukkan path di baris pertama, yaitu \\ server \ FxExts \ [email protected] , dan juga ganti nama file teks (termasuk ekstensi .txt) dengan em: id value - New Text Document.txt diganti namanya menjadi [email protected] .
File-file teks ini dapat didistribusikan ke Firefox install_directory \ browser \ ekstensi yang ada , atau termasuk dalam inti penginstal Firefox \ browser \ ekstensi .
Sebagai alternatif atau tambahan melalui registry HKLM: Name [email protected] , dan Data \\ server \ FxExts \ [email protected]
Dalam salah satu atau kedua kasus (Cakupan 4 dan 8):
Untuk menonaktifkan ekstensi, ubah nama install.rdf ekstensi target menjadi, misalnya disabled.rdf.
Untuk memperbarui ekstensi, hapus konten dalam subfoldernya dan bukalah XPI yang baru. Biasanya em unik : id akan sama.
Jika extensions.autoDisableScopes
diatur ke 15 , pengguna akan dapat mencari, dan mengaktifkan ekstensi yang disukai melalui Alat (Alt + T)> Add-ons: Bilah pencarian. Atau, aktifkan satu lokasi untuk ekstensi yang diaktifkan otomatis yang akan meninggalkan yang lain untuk ekstensi yang diaktifkan pengguna (secara manual).
Pada Windows, Deny yang Baca data izin pada lokal-settings.js bagi pengguna / kelompok untuk dibebaskan. Dalam sistem GNU / Linux satu opsi adalah mengatur izin dasar local-settings.js sebagai 0600 (dengan root menjadi ug), tambahkan semua pengguna ke grup (mis. Fxgrp) dengan mengabaikan pengguna yang akan dikecualikan, lalusetfacl -m g:fxgrp:r local-settings.js
Harap dicatat bahwa menggunakan variabel lingkungan OS tidak aman karena dapat dilewati, kecuali langkah-langkah tambahan di luar file kunci (kebijakan) diterapkan.
Lain-lain .: Bilah perintah Konsol Peramban dapat dinonaktifkan oleh aturan CSS dalam style sheet misalnya .jsterm-input-container {display:none;}
untuk memusatkan style sheet ini melalui file kunci (kebijakan):
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 (style sheet) dimuat di Firefox Safe Mode juga, dan dapat menentukan aturan chrome (Firefox UI), dan konten ( halaman internal , halaman web). Untuk NFS, atau pemasangan SMB, atau sistem file lokal, gunakanfile:///
[ userChrome dan userContent ] .css memiliki prioritas tertinggi, jadi akan lebih baik untuk memeriksa folder chrome juga, misalnyavar profChrmDir = FileUtils.getDir("UChrm", false, false); if( profExtDir.exists() || profChrmDir.exists() )
Nama dan ID elemen Chrome , URL Chrome , Bekerja dengan URL chrome
Alat- alat lain , dan GCLI dapat dinonaktifkan sesuai kebutuhan melalui file kunci (kebijakan) - filter untuk devtools*enabled
di about: config.
Untuk detail tentang nsInterfaces di Components.interfaces. * Silakan lihat antarmuka XPCOM .
PS: Untuk secara andal menangkap kesalahan dan ketentuan dalam file .cfg dari beberapa edisi Firefox, mungkin perlu memasukkan seluruh kunci (kebijakan) konten di dalam blok percobaan, mis. Secara try { var ...; lockPref(); } catch(e) { Components.utils.import("resource://gre/modules/Services.jsm"); Services.startup.quit(0x03); }
opsional juga termasuk Services.prompt.alert(null, "Firefox", "Failed to start. Please inform the IT dept.");
dalam blok catch (e) {}.
XPConnect , XPCOM interface , JSCM , omni.ja , referensi JS , JS cepat , JS
Mencegah pengguna memasang addons lebih sulit di versi Firefox yang lebih baru. Firefox tidak menghormati preferensi xpinstall.enabled di beberapa versi. (Edit: lihat komentar di bawah: mereka menghargai preferensi ini pada versi 31)
Untuk artikel rinci tentang cara memodifikasi Firefox untuk mencegah Add-on Manager dari menampilkan dan bagaimana mencegah pengguna menginstal add-on, lihat artikel ini .
Instruksi bukan untuk orang yang lemah hati, tetapi mereka berhasil; Saya memiliki 700 mesin yang terkunci di lingkungan K-8 menggunakan petunjuk ini.
Untuk informasi lebih lanjut tentang mengunci pengaturan browser, lihat artikel ini .