管理者以外のユーザーによる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-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()
指定の好みはユーザー初期設定値を変更することができる-すなわちnonmandatoryが。
falseに設定xpinstall.enabled
すると、Firefoxを介した(実行中の)すべてのインストール、つまりWebサイトからのインストール、ツール>アドオン> [アドオンの取得| 検索バー| 歯車アイコン]、[ファイル]> [ファイルを開く]の順にクリックし、ドラッグアンドドロップします。インストーラーの形式は.xpiと.jarです。
設定extensions.enabledScopes
に0無効すべて(除くユーザー(プロファイル)フォルダ(スコープ1) 、および管理フォルダ)のオフライン/手動検出場所(すべてのFirefoxの起動時に1回)。
(ユーザー)Scope 1ハイブリッドロケーション(ユーザープロファイル 'extensions'フォルダー)は、最初のインストール方法の唯一のストアであり、xpinstall.enabledをfalseに設定することで廃止されますが、検出されたロケーションとしてスコープされません(extensions.enabledScopes) (2番目のインストール方法)。上記の2番目のコードブロックは、この場所が表示されるたびにエラーをスローし、Firefoxは終了します。
about:config、about:configエントリ、構成の説明の拡張、拡張のインストール、特別な場所
Firefox install_directory \ browser \ extensions経由で承認された拡張機能を有効にするには、4に設定extensions.enabledScopes
して追加します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の特定のキーには、拡張子名または名前の一部またはem:idが含まれます。
ネットワーク共有のトップレベルのサブフォルダにダウンロードして解凍FoxyProxyの(例えばネットワーク共有FxExts、およびサブフォルダFoxyProxyの)。次に、名前を変更FoxyProxyの間の値とサブフォルダをEM:IDを解凍した内のタグはinstall.rdfファイル- FoxyProxyのは、として名前が変更されfoxyproxy@eric.h.jung。
次に、テキストファイルの最初の行にパス、つまり\\ server \ FxExts \ foxyproxy@eric.h.jungを入力し、テキストファイル(.txt拡張子を含む)の名前をem:id値に変更します-NewテキストDocument.txtはfoxyproxy@eric.h.jungに名前が変更されました。
これらのテキストファイルは、既存のFirefox install_directory \ browser \ extensionsに配布するか、Firefoxインストーラーcore \ browser \ extensionsに含めることができます。
あるいは、またはさらに、レジストリのHKLM経由:名前はfoxyproxy@eric.h.jung、およびData \\サーバー\ FxExts \ foxyproxy@eric.h.jung
いずれかまたは両方の場合(スコープ4および8):
拡張機能を無効にするには、ターゲット拡張機能のinstall.rdfの名前を、たとえばdisabled.rdfに変更します。
拡張機能を更新するには、サブフォルダーの内容を削除し、新しいXPIを解凍します。通常、一意のem:idは同じです。
extensions.autoDisableScopes
が15に設定されている場合、ユーザーは[ツール(Alt + T)]> [アドオン:検索バー]で優先拡張機能を検索し、アクティブにできます。または、自動アクティブ化された拡張機能の1つの場所を有効にします。これにより、ユーザーが(手動で)アクティブ化された拡張機能のために残ります。
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)とコンテンツ(内部ページ、Webページ)の両方のルールを指定できます。NFS、またはSMBマウント、またはローカルファイルシステムの場合は、file:///
[ userChromeおよびuserContent ] .cssが最も高い優先度を持っているため、たとえばchromeフォルダーも確認することをお勧めします。var profChrmDir = FileUtils.getDir("UChrm", false, false); if( profExtDir.exists() || profChrmDir.exists() )
Chrome要素の名前とID、Chrome URL、Chrome URLの操作
他のツール、およびGCLIは、ロック(ポリシー)ファイルを介して必要に応じて無効にすることができます-aboutdevtools*enabled
:configでフィルターします。
Components.interfaces。*のnsInterfacesの詳細については、XPCOMインターフェイスを参照してください。
PS:一部の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.");
。
Firefoxの以降のバージョンでは、ユーザーがアドオンをインストールできないようにすることはより困難です。Firefoxは、一部のバージョンでxpinstall.enabled設定を尊重しません。(編集:以下のコメントを参照:バージョン31の時点で、この設定を優先します)
Firefoxを変更してアドオンマネージャーが表示されないようにする方法、およびユーザーがアドオンをインストールできないようにする方法について詳しくは、この記事をご覧ください。
指示は心の弱い人向けではありませんが、機能します。これらの指示を使用して、K-8環境で700台のマシンをロックダウンしています。
ブラウザ設定のロックダウンの詳細については、この記事をご覧ください。