답변:
일종의. 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-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
코드 외부의 이중 슬래시 (//)는 주석을 나타냅니다.
lockPref()
정책을 지정합니다 ( 예 : 사용자가 수정할 수 없음) defaultPref()
또는 환경 설정을pref()
지정합니다 ( 예 : 비 필수)-사용자가
초기에 설정 한 값을 수정할 수 있습니다.
설정 xpinstall.enabled
에 잘못된 예 (실행) 파이어 폭스를 통해 비활성화 모든 설치를 설치에서 웹 사이트, 도구> 부가 기능> [가져 오기 추가 기능 | 검색 창 | 톱니 바퀴 아이콘], 파일> 파일 열기 및 드래그 앤 드롭을 사용합니다. 설치 프로그램 형식은 .xpi 및 .jar입니다.
설정 extensions.enabledScopes
에 0 비활성화 모든 (제외 사용자 (프로필) 폴더 (범위 1) , 및 관리자 폴더 ) / 오프라인 수동 검색 위치 (모든 파이어 폭스 시작 한 번).
(사용자) Scope 1 하이브리드 위치 (사용자 프로필 'extensions'폴더) 는 첫 번째 설치 방법의 유일한 저장소이며 xpinstall.enabled를 false로 설정하여 사용되지 않지만 검색된 위치로 범위가 지정되지 않습니다 (extensions.enabledScopes). (두 번째 설치 방법). 위의 두 번째 코드 블록은이 위치가 나타날 때마다 오류를 발생시키고 Firefox가 종료됩니다.
about : config , about : config 항목 , 구성 설명 확장 , 확장 설치 , 특수 위치
Firefox install_directory \ browser \ extensions를 통해 승인 된 확장을 사용하려면 4로 설정 extensions.enabledScopes
하고 추가lockPref("extensions.autoDisableScopes", 11);
또는 (Windows의), 윈도우 레지스트리를 통해 확장 승인을 사용하려면 HKLM 설정 extensions.enabledScopes
에 팔을 , 그리고 extensions.autoDisableScopes
에 7 . GNU / Linux에서 동등한 것은 / usr / share / mozilla / extensions / {ec8030f7-c20a-464f-9b0e-13a3a9e97384}입니다.
두 위치를 모두 사용하려면 각각 12 및 3을 사용하십시오 .
about : config;에 구성을 통합하는 확장 프로그램의 설정 lockPref()
또는 defaultPref()
설정 도 가능합니다 . 일반적으로 about : config의 특정 키에는 확장명 또는 이름의 일부 또는 em : id가 포함 됩니다.
네트워크 공유의 최상위 하위 폴더 (예 : 네트워크 공유 FxExts 및 하위 폴더 foxyproxy )에 FoxyProxy를 다운로드하여 압축을 풉니 다 . 그런 다음 압축이 풀린 install.rdf 파일 의 em : id 태그 사이의 값으로 foxyproxy 하위 폴더의 이름을 바꿉니다 . foxyproxy 는 foxyproxy@eric.h.jung 으로 이름이 변경됩니다 .
다음으로, 텍스트 파일의 첫 번째 줄, 즉의 경로를 입력 \\ 서버 \ FxExts \ foxyproxy@eric.h.jung 으로, 또한 (.txt 확장명 포함) 텍스트 파일의 이름을 변경 EM : 아이디 값을 - 새로운 Text Document.txt의 이름은 foxyproxy@eric.h.jung 으로 변경됩니다 .
이 텍스트 파일은 기존 Firefox install_directory \ browser \ extensions 로 배포 하거나 Firefox 설치 프로그램 core \ browser \ extensions에 포함될 수 있습니다 .
대안 적으로 또는 추가로 레지스트리 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 으로 설정 하고 (루트는 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 안전 모드로 로드되며 크롬 (Firefox UI) 및 콘텐츠 ( 내부 페이지 , 웹 페이지) 규칙을 모두 지정할 수 있습니다 . NFS 또는 SMB 마운트 또는 로컬 파일 시스템의 경우file:///
[ userChrome 및 userContent ] .css가 가장 높은 우선 순위를 가지므로 크롬 폴더도 확인하는 것이 좋습니다 ( 예 :var profChrmDir = FileUtils.getDir("UChrm", false, false); if( profExtDir.exists() || profChrmDir.exists() )
크롬 요소 이름 및 ID , 크롬 URL , 크롬 URL 작업
about : config에서 잠금 (정책) 파일 필터를 통해 다른 도구 및 GCLI 를 비활성화 할 수 있습니다 devtools*enabled
.
Components.interfaces. *의 nsInterfaces에 대한 자세한 내용은 XPCOM 인터페이스 를 참조하십시오 .
추신 : 일부 Firefox 버전의 .cfg 파일에서 오류와 조건을 안정적으로 잡으려면 전체 잠금 (정책) 내용을 try 블록 안에 넣어야 할 수도 있습니다 (예 : catch (e) {} 블록 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.");
).
XPConnect를 , XPCOM 인터페이스 , JSCM , omni.ja , JS 참조 , 빠른 JS , JS
이후 버전의 Firefox에서는 사용자가 애드온을 설치하지 못하게하기가 더 어렵습니다. Firefox는 일부 버전에서 xpinstall.enabled 기본 설정을 따르지 않습니다. (편집 : 아래 주석 참조 : 버전 31 기준 으로이 환경 설정을 존중합니다)
애드온 관리자가 표시되지 않도록 Firefox를 수정하는 방법 및 사용자가 애드온을 설치하지 못하게하는 방법에 대한 자세한 내용은이 문서를 참조하십시오 .
지침은 희미한 마음을위한 것이 아니라 작동합니다. 이 지침을 사용하여 K-8 환경에 700 대의 컴퓨터가 잠겨 있습니다.