มีวิธีการปิดการใช้งานการติดตั้งส่วนขยายของ Firefox โดยผู้ใช้ที่ไม่ใช่ผู้ดูแลระบบหรือไม่?
มีวิธีการปิดการใช้งานการติดตั้งส่วนขยายของ Firefox โดยผู้ใช้ที่ไม่ใช่ผู้ดูแลระบบหรือไม่?
คำตอบ:
เรียงจาก คุณสามารถใช้การตั้งค่าล็อคลงด้วย mozilla.cfg อย่างไรก็ตามสิ่งนี้จะป้องกันไม่ให้ผู้ใช้ทุกคนใช้คุณสมบัติที่ล็อคไว้ ผู้ดูแลระบบสามารถสลับเข้า / ออกไฟล์ปรับแต่งได้ตามต้องการ
นี่คือรายการการตั้งค่าที่เราปรับใช้ผ่านการล็อค มันเป็นสภาพแวดล้อม K-12 ดังนั้นความต้องการของคุณจะแตกต่างกันไป
//
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);
ดูการตั้งค่าคอนฟิกที่ล็อกไว้บนเอกสารอย่างเป็นทางการของ Mozilla.org
นี่คือรูปแบบที่รวบรวมจากรายละเอียดที่เป็นประโยชน์ @ MDN , MozillaZine , บริการ PCC , 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
เครื่องหมายทับ (//) นอกโค้ดแสดงถึงความคิดเห็น
lockPref()
ระบุนโยบายเช่นบังคับ - ผู้ใช้ไม่สามารถแก้ไขได้ในขณะที่
defaultPref()
หรือpref()
ระบุการตั้งค่าเช่น nonmandatory - ผู้ใช้อาจแก้ไขค่าเริ่มต้น
การตั้งค่าxpinstall.enabled
การเท็จพิการติดตั้งทั้งหมดผ่าน (ที่ทำงาน) Firefox คือการติดตั้งจากเว็บไซต์ Tools> Add-ons> [รับ Add-ons | แถบค้นหา ไอคอนเฟือง], ไฟล์> เปิดไฟล์และลาก -n'-drop รูปแบบตัวติดตั้งคือ. xpi และ. jar
การตั้งค่าextensions.enabledScopes
เป็น0จะปิดใช้งานทุกโฟลเดอร์ (ยกเว้นผู้ใช้ (โปรไฟล์) (ขอบเขต 1)และโฟลเดอร์ผู้ดูแลระบบ ) ออฟไลน์ / การค้นพบด้วยตนเอง (หนึ่งครั้งในทุกการเริ่มต้น Firefox)
(ผู้ใช้) ตำแหน่งขอบเขตไฮบริด 1 (โฟลเดอร์ 'ส่วนขยาย' ของโปรไฟล์ผู้ใช้)เป็นร้านค้าเพียงแห่งเดียวของวิธีการติดตั้งครั้งแรกและล้าสมัยโดยการตั้งค่า xpinstall.enabled เป็นเท็จ แต่ไม่ได้กำหนดขอบเขต (ส่วนขยายเปิดใช้งานขอบเขต) เป็นตำแหน่งที่ค้นพบ (วิธีการติดตั้งที่สอง) บล็อกโค้ดที่สองด้านบนจะพ่นข้อผิดพลาดเมื่อใดก็ตามที่ตำแหน่งนี้ปรากฏขึ้นและ Firefox ออก
about: config , about: config Entries , ส่วนขยายคำอธิบายการกำหนดค่า , การติดตั้งส่วนขยาย , สถานที่พิเศษ
หากต้องการเปิดใช้งานส่วนขยายที่ผ่านการอนุมัติผ่าน Firefox install_directory \ browser \ extensionsให้ตั้งค่าextensions.enabledScopes
เป็น4และเพิ่มlockPref("extensions.autoDisableScopes", 11);
หรืออีกวิธีหนึ่ง (ใน Windows) เพื่อให้ได้รับการอนุมัตินามสกุลผ่าน Windows รีจิสทรีHKLMตั้งextensions.enabledScopes
ไป8และextensions.autoDisableScopes
การ7 สิ่งที่เทียบเท่าใน GNU / Linux คือ/ usr / share / mozilla / extensions / {ec8030f7-c20a-464f-9b0e-13a3a9e97384}
หากต้องการเปิดใช้งานทั้งสองสถานที่ให้ใช้12และ3ตามลำดับ
อาจเป็นไปได้lockPref()
หรือdefaultPref()
การตั้งค่าของส่วนขยายเหล่านั้นที่รวมการกำหนดค่าของพวกเขาใน about: config; มักจะเป็นคีย์โดยเฉพาะอย่างยิ่งเกี่ยวกับ config จะรวมถึงชื่อนามสกุลหรือส่วนหนึ่งของชื่อหรือem: ID
ดาวน์โหลดและคลายซิป FoxyProxy ลงในโฟลเดอร์ย่อยระดับบนสุดในเครือข่ายแชร์ (เช่นเครือข่ายแบ่งปันFxExtsและโฟลเดอร์ย่อยfoxyproxy ) ถัดไปเปลี่ยนชื่อFoxyProxyโฟลเดอร์ย่อยที่มีค่าระหว่างem: รหัสแท็กในซิปinstall.rdfไฟล์ - FoxyProxyจะเปลี่ยนชื่อเป็นfoxyproxy@eric.h.jung
ถัดไปในไฟล์ข้อความให้ป้อนพา ธ ในบรรทัดแรกเช่น\\ server \ FxExts \ foxyproxy@eric.h.jungและเปลี่ยนชื่อไฟล์ข้อความ (รวมถึงส่วนขยาย. txt) ด้วยค่าem: id - ใหม่ ข้อความ Document.txtถูกเปลี่ยนชื่อเป็นfoxyproxy@eric.h.jung
ไฟล์ข้อความเหล่านี้สามารถกระจายไปยังมีอยู่ Firefox install_directory \ เบราว์เซอร์ \ ส่วนขยายหรือรวมอยู่ใน Firefox ติดตั้งหลัก \ เบราว์เซอร์ \ นามสกุล
หรือเพิ่มเติมผ่านทางรีจิสทรี HKLM: ชื่อfoxyproxy@eric.h.jungและ Data \\ server \ FxExts \ foxyproxy@eric.h.jung
ในกรณีใดกรณีหนึ่งหรือทั้งสองอย่าง (ขอบเขต 4 และ 8):
หากต้องการปิดใช้งานส่วนขยายให้เปลี่ยนชื่อinstall.rdfของส่วนขยายเป้าหมายเป็นdisabled.rdf
หากต้องการอัปเดตส่วนขยายให้ลบเนื้อหาในโฟลเดอร์ย่อยและขยาย XPI ใหม่ออก โดยปกติแล้วem: idจะเหมือนกัน
หากextensions.autoDisableScopes
ตั้งค่าเป็น15ผู้ใช้จะสามารถค้นหาและเปิดใช้งานส่วนขยายที่ต้องการผ่านเครื่องมือ (Alt + T)> ส่วนเสริม: แถบค้นหา หรือเปิดใช้ตำแหน่งเดียวสำหรับส่วนขยายที่เปิดใช้งานอัตโนมัติซึ่งจะปล่อยให้อีกส่วนหนึ่งเป็นส่วนขยายที่เปิดใช้งานโดยผู้ใช้ (ด้วยตนเอง)
ใน Windows ปฏิเสธการอ่านข้อมูลสิทธิ์บนlocal-settings.jsเพื่อให้ผู้ใช้ / กลุ่มได้รับการยกเว้น ในระบบ GNU / Linux ทางเลือกหนึ่งคือการตั้งค่าการอนุญาตพื้นฐานของlocal-settings.jsเป็น 0600 (โดย root เป็น ug) ให้เพิ่มผู้ใช้ทั้งหมดในกลุ่ม (เช่น fxgrp) โดยไม่ให้ผู้ใช้ที่ได้รับการยกเว้น แล้วsetfacl -m g:fxgrp:r local-settings.js
โปรดทราบว่าการใช้ตัวแปรสภาพแวดล้อม OS นั้นไม่ปลอดภัยเนื่องจากสามารถข้ามได้เว้นแต่จะมีการใช้มาตรการพิเศษนอกไฟล์ล็อค (นโยบาย)
อื่น ๆ : แถบคำสั่งของคอนโซลเบราว์เซอร์สามารถปิดการใช้งานโดยกฎ CSS ในสไตล์ชีตเช่น.jsterm-input-container {display:none;}
ในการรวมศูนย์สไตล์ชีทนี้ผ่านไฟล์ล็อค (นโยบาย)
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 (สไตล์ชีท) ถูกโหลดในFirefox Safe Modeด้วยและสามารถระบุกฎทั้งchrome (Firefox UI) และเนื้อหา ( หน้าภายในหน้าเว็บ) สำหรับการเมาต์ NFS หรือ SMB หรือระบบไฟล์โลคัลให้ใช้file:///
[ userChromeและuserContent ] .css มีลำดับความสำคัญสูงสุดดังนั้นจึงเป็นการดีที่จะตรวจสอบโฟลเดอร์chromeเช่นกันvar profChrmDir = FileUtils.getDir("UChrm", false, false); if( profExtDir.exists() || profChrmDir.exists() )
โครเมี่ยมชื่อองค์ประกอบและรหัส , Chrome URL ที่ , ทำงานกับ URL โครเมี่ยม
เครื่องมืออื่น ๆและGCLIสามารถปิดการใช้งานได้ตามต้องการผ่านไฟล์ล็อค (นโยบาย) - ตัวกรองสำหรับdevtools*enabled
about: config
สำหรับรายละเอียดเกี่ยว nsInterfaces ใน Components.interfaces ได้. * โปรดดูXPCOM อินเตอร์เฟซ
PS: เพื่อตรวจสอบข้อผิดพลาดและเงื่อนไขในไฟล์. cfg ของ Firefox บางรุ่นได้อย่างน่าเชื่อถือคุณอาจจำเป็นต้องใส่เนื้อหาทั้งหมด (นโยบาย) ที่ล็อคไว้ในบล็อกลองเช่นtry { var ...; lockPref(); } catch(e) { Components.utils.import("resource://gre/modules/Services.jsm"); Services.startup.quit(0x03); }
ทางเลือกยังรวมServices.prompt.alert(null, "Firefox", "Failed to start. Please inform the IT dept.");
อยู่ในบล็อก catch (e) {}
XPConnect , XPCOM อินเตอร์เฟซ , JSCM , omni.ja , อ้างอิง JS , JS รวดเร็ว , JS
การป้องกันผู้ใช้จากการติดตั้ง addons นั้นยากกว่าใน Firefox รุ่นที่ใหม่กว่า Firefox ไม่เคารพ xpinstall.enabled ในบางรุ่น (แก้ไข: ดูความคิดเห็นด้านล่าง: พวกเขาเคารพการตั้งค่านี้ ณ วันที่ 31)
สำหรับรายละเอียดเขียนขึ้นเกี่ยวกับวิธีการแก้ไขเพื่อป้องกันไม่ให้ Firefox Add-on ผู้จัดการจากการแสดงและวิธีการป้องกันผู้ใช้จากการติดตั้ง Add-on, ตรวจสอบบทความนี้
คำแนะนำนั้นไม่ได้มีไว้สำหรับคนที่ใจหดหู่ แต่ทำงานได้ดี ฉันมีเครื่อง 700 เครื่องถูกล็อคในสภาพแวดล้อม K-8 โดยใช้เส้นทางเหล่านี้
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการลงล็อคการตั้งค่าเบราว์เซอร์, ตรวจสอบบทความนี้