設定の管理

設定を管理者が管理したい

キーワード?機能制限 / 導入時初期設定 / 集中管理

FirefoxやThunderbirdには、設定を管理者が管理し、ユーザが自由に変更できないようにするための機能が備わっています。 この機能は「Mission Control Desktop(MCD)」や「AutoConfig」などと呼ばれています。

また、アドオンを使うとActive Directoryのグループポリシーで設定を集中管理することもできます。

ウィザードでの実現

アドオン CCK2 Wizardを使用すると、MCD相当の設定を行ったり、それ以上のことをしたりするアドオンまたは設定ファイル群を作成することができます。

CCK2 Wizardの大まかな利用手順は以下の通りです。

  1. 管理者のPC上のFirefoxに、CCK2 Wizardを通常通りインストールします。
  2. ツールバー上に追加される「CCK2 Wizard」ボタンをクリックし、ウィザードを起動します。
  3. 「File」→「New」と辿り、カスタマイズ用設定の名前と一意な識別子を入力します。
  4. ウィザード(設定の入力画面)が出るので、行いたいカスタマイズの内容を決定します。
  5. ウィザードの最後のページで「Create an Extension」または「Use AutoConfig」ボタンを押下し、カスタマイズ用のファイルを出力します。
  6. 5で「Create an Extension」を選択した場合、アドオンのインストールパッケージが出力されるので、各クライアントにアドオンをインストールします。 「AutoConfig」を選択した場合、カスタマイズ用ファイルを圧縮したZIPファイルが出力されるので、各クライアントのFirefoxのインストール先にZIPファイルの内容を展開して設定ファイル群をインストールします。

MCD用設定ファイルでの実現

以下では、Firefoxの自動アップデートを禁止するという場合を例にとって設定の手順を説明します。

設定方法

以下の内容のプレーンテキストファイル autoconfig.js を用意します。

pref("general.config.filename", "autoconfig.cfg");
pref("general.config.vendor", "autoconfig");
pref("general.config.obscure_value", 0);

作成した autoconfig.js を、Firefoxのインストール先の defaults/pref/ ディレクトリに置きます(Windowsであれば、 C:\Program Files (x86)\Mozilla Firefox\defaults\pref\autoconfig.js など)。

以下の内容のプレーンテキストファイル autoconfig.cfg を用意します。

// 1行目は必ずコメントとしてください。
lockPref("app.update.enabled", false);

作成した autoconfig.cfg を、FirefoxまたはThunderbirdのインストール先ディレクトリに置きます(Windowsであれば、 C:\Program Files (x86)\Mozilla Firefox\autoconfig.cfg など)。

以上で設定は完了です。

確認方法

Firefoxを起動してオプション(設定画面)を開き、詳細更新と辿って、自動更新に関する設定が更新の確認は行わないで固定されグレイアウトされていることを確認して下さい。

詳細情報

autoconfig.cfg では以下の3つのディレクティブでFirefox・Thunderbirdの設定を管理することができます。

  • defaultPref("設定名", 値) :設定を指定した値に変更します。ユーザは設定を自由に変更でき、変更後の値はFirefox・Thunderbirdの終了後も保存されます。
  • pref("設定名", 値) :設定を指定した値に変更します。ユーザは設定を一時的に変更できますが、変更後の値はFirefox・Thunderbirdを終了すると失われます。(次回起動時には、autoconfig.cfg で指定した値に戻ります。)
  • lockPref("設定名", 値) :設定を指定した値に固定します。ユーザは設定を変更することはできません。

また、autoconfig.cfg ではJavaScriptの制御構文や環境変数の参照、LDAPサーバからの情報の取得(※Tunderbirdのみ)も利用できます。 詳しくは以下の情報を参照して下さい。

設定を変更する場合は、新しい autoconfig.cfg で古い autoconfig.cfg を上書きして下さい。

autoconfig.cfg で管理できる設定項目は、about:config(設定エディタ)の一覧に表示される物、もしくは一覧に現れていない隠し設定のみに限られます。 アドオンの有効・無効の状態、Webサイトごとの機能の利用許可、メニュー項目の表示・非表示などは、autoconfig.cfg では管理できません。

なお、Firefox 43以前では、設定画面の「プライバシー」パネルに対応する設定を pref()defaultPref() で変更した場合、設定ダイアログを開いた時の状態が期待通りに初期化されない場合があります。この問題の簡単な回避策としては、アドオン History Prefs Modifierが利用できます。Firefox 44以降ではこの問題は修正されています。

グループポリシーでの実現

アドオンGPO For Firefoxを使用すると、グループポリシー経由でMCDと同様の設定の集中管理を行えます。

設定の手順

  • 各クライアントについては、管理者によるアドオンのインストール手順に従ってGPO For Firefoxをインストールします。
  • ドメインコントローラについては、アドオンのダウンロードページの「You can find an adm file ready to be used for your GPO at the following link.」と書かれた箇所にあるリンクから管理用テンプレートファイル(admファイル)をダウンロードして読み込ませます。 その後、読み込まれたテンプレートを使って設定を行います。 例えば、Windows Server 2008R2での手順は以下の通りです。
    1. Active Directoryドメインを構築します。
    2. ドメインの管理者でログインします。
    3. ローカル グループ ポリシー エディターを開くの手順に則って、ローカル グループ ポリシー エディターを起動します。 (ファイル名を「gpedit.msc」と指定して起動します。)
    4. 従来の管理用テンプレートを追加または削除するの手順に則って、テンプレートを読み込ませます。 (「コンピューターの構成」配下の「管理用テンプレート」を右クリックして「テンプレートの追加と削除」を選択し、firefox.admを指定して追加します。)
    5. 「従来の管理用テンプレート(ADM)」配下に「Mozilla Firefox」が追加されるので、必要な設定を変更します。

以降は、ドメインに参加したWindows PC上でFirefoxを起動する度に、グループポリシーで変更された設定が読み込まれ、反映されるようになります。

注意点

  • 上記ページからダウンロードできる管理用テンプレートファイルの内容は、すべて英語となっています。 日本語で設定を管理したい場合は、管理用テンプレートファイルを自分で翻訳する必要があります。
  • 管理できる設定項目は、管理用テンプレートファイルに記述されている物のみとなります。 それ以外の設定を管理したい場合は、管理用テンプレートファイルを自分で編集する必要があります。

管理用テンプレートファイルに無い設定項目の管理について

FirefoxやThunderbird自体の更新によって追加・変更・廃止された設定をグループポリシーとして管理できるようにするためには、管理用テンプレートファイルを自分で修正・更新する必要があります。

管理用テンプレートファイルを編集する際は、MCDでの設定で使用する設定名とその値が、ドメインのメンバとなるWindows PCの以下のレジストリキー以下に書き出されるようにして下さい。

  • ユーザ自身による変更を許容しない、管理者が固定する設定(Locked Settings)
    • 全ユーザに反映する場合:HKEY_LOCAL_MACHINE\Software\Policies\Mozilla\lockPref
    • ユーザごとに反映する場合:HKEY_CURRENT_USER\Software\Policies\Mozilla\lockPref
  • ユーザ自身による変更を許容する、初期値の設定(Default Settings)
    • 全ユーザに反映する場合:HKEY_LOCAL_MACHINE\Software\Policies\Mozilla\defaultPref
    • ユーザごとに反映する場合:HKEY_CURRENT_USER\Software\Policies\Mozilla\defaultPref

真偽型の設定は、trueを整数の1falseを整数の0として書き出して下さい。

例えば「Firefoxの自動アップデートを禁止する設定を、全ユーザに対して、強制的に反映させる」という場合の設定内容は以下の要領です。

  • 書き込む先のレジストリキー:HKEY_LOCAL_MACHINE\Software\Policies\Mozilla\lockPref
  • 書き込む値の名前:app.update.enabled
  • 書き込む値のデータ:0

すべてのクライアントの設定を管理者が一括して変更したい

キーワード?機能制限 / 導入時初期設定 / 集中管理

Active Directoryドメインに参加しているWindows PCでは、グループポリシーによって、管理者が全クライアントの設定を一括して管理・変更することができます。

グループポリシーを使用しない場合でも、FirefoxやThunderbirdの独自の設定管理機能であるMCD(AutoConfig)では、各クライアントのローカルディスク上に設置した設定ファイルだけでなく、サーバ上に設置した設定ファイルを読み込ませることができます。 これにより、管理者が1つの設定ファイルを管理するだけで全クライアントの設定を一括して管理・変更するという運用が可能です。

以下では、設定ファイルを http://internalserver/autoconfig.jsc として提供してFirefoxの自動アップデートを禁止するという場合を例にとってMCDでの設定の手順を説明します。

設定方法

以下の内容のプレーンテキストファイル autoconfig.js を用意します。

pref("general.config.filename", "autoconfig.cfg");
pref("general.config.vendor", "autoconfig");
pref("general.config.obscure_value", 0);

作成した autoconfig.js を、Firefoxのインストール先の defaults/pref/ ディレクトリに置きます(Windowsであれば、C:\Program Files (x86)\Mozilla Firefox\defaults\pref\autoconfig.js など)。

以下の内容のプレーンテキストファイル autoconfig.cfg を用意します。

// 1行目は必ずコメントとしてください。
lockPref("autoadmin.global_config_url", "http://internalserver/autoconfig.jsc");

作成した autoconfig.cfg を、FirefoxまたはThunderbirdのインストール先ディレクトリに置きます(Windowsであれば、C:\Program Files (x86)\Mozilla Firefox\autoconfig.cfg など)。

以下の内容のプレーンテキストファイル autoconfig.jsc を用意します。

// 1行目は必ずコメントとしてください。
lockPref("app.update.enabled", false);

次に、上記のURLにてファイルをダウンロード可能なように、設定ファイルの提供用サーバにファイルを設置します。 また、ファイルは以下のMIME Typeを伴って送信されるように設定します。

application/x-javascript-config

以上で設定は完了です。

確認方法

Firefoxを起動してオプション(設定画面)を開き、詳細更新と辿って、自動更新に関する設定が更新の確認は行わないで固定されグレイアウトされていることを確認して下さい。

詳細情報

autoconfig.jsc の書式と設定可能な設定項目の種類は、autoconfig.cfgと同一です。詳細は設定を管理者が管理したいを参照して下さい。

なお、autoconfig.jsc はWebサーバでの提供以外に、ローカルファイル、ファイル共有サーバ上のファイルなどの形でも提供できます。以下はすべて有効な指定です。

// ローカルファイルとして提供する場合(ネットワークドライブをマウントする場合など)
lockPref("autoadmin.global_config_url", "file:///Z:/firefox/autoconfig.jsc");

// Sambaサーバ、NASなどの上にファイルを設置する場合
lockPref("autoadmin.global_config_url", "file://///file-server/shared/firefox/autoconfig.jsc");

一部の設定項目を非表示にして、ユーザが設定を変更できないようにしたい

キーワード?機能制限 / 導入時初期設定 / 集中管理

MCD(AutoConfig)グループポリシーによる設定では、管理者がFirefoxやThunderbirdの設定を固定し、ユーザ自身による自由な変更を禁止することができます。また、アドオンを併用することによって、変更できなくした設定を画面上に表示しないようにすることができます。

ウィザードでの実現

CCK2 Wizardを使用すると、設定値を変更不可能な状態に固定する機能を含むアドオンを作成することができます。

MCDでの実現

MCD(AutoConfig)機能が提供する lockPref() ディレクティブを使用すると、ユーザによる設定の変更を禁止できます。詳細は設定を管理者が管理したいを参照して下さい。

lockPref() によって値が固定された設定は、Firefox・Thunderbirdの設定画面上ではグレイアウトして表示されます。

変更できない状態になっている設定項目をそもそもUI上に表示しないようにするためには、アドオン globalChrome.cssを使うなどしてUI要素を隠す必要があります。globalChrome.css を使う場合の手順は以下の通りです。

  1. DOM Inspector をインストールします。
  2. ツールWeb開発DOM Inspector でDOM Inspectorを起動し、その状態で設定画面を開きます。
  3. 設定ダイアログを操作し、非表示にしたい設定項目が表示された状態にします。
  4. FileInspect Chrome Documentを選択し、設定画面のタイトルと同じ項目を選択します。
  5. 非表示にしたい項目のIDを調べる。
  6. 「メモ帳」などのテキストエディタを開き、4で調べたIDを使って項目を非表示にするスタイル指定を記述します。

    以下は Firefoxの設定の「一般」パネルにおける起動時の挙動の設定を非表示にする場合の例。

    @-moz-document url-prefix(chrome://browser/content/preferences/preferences.xul) {
      #startupGroup {
        /* display:none はDOMツリーに変化を与えて挙動を壊す恐れがあるため、
           単に非表示にするのみとする。 */
        visibility: collapse !important;
        -moz-user-focus: ignore !important;
      }
    }
    

    @-moz-document は、特定のウィンドウに対してのみスタイル指定を反映させるための記述です。詳細は@-moz-document について参考を参照して下さい。)

  7. 6で作成した内容を globalChrome.css という名前のプレーンテキストファイルに保存します。
  8. 7で作成したファイルをFirefox(Thunderbird)のインストール先の chrome フォルダに設置します。 (Windows Vista以降の場合のファイルの設置場所は C:\Program Files (x86)\Mozilla Firefox\chrome\globalChrome.css となる。)
  9. 管理者によるアドオンのインストール手順に従ってglobalChrome.cssを導入します。

なお、設定画面上部の全般 タブなどのパネル切り替えボタン自体や、詳細における更新などのタブを非表示にする場合には注意が必要です。 これらの切り替えボタンやタブを単純に非表示にすると、ボタンやタブとパネルの内容の対応関係が崩れる場合があります。これらの問題の簡単な解決策としては、アドオン Hide Option Paneの利用が挙げられます。

グループポリシーでの実現

グループポリシーによる設定では、ユーザ自身による変更を許容しない設定(Locked Settings)も可能です。

ただし、グループポリシーとの連携だけでは設定項目は非表示にできません、設定項目を非表示にするためには、MCDの場合と同様に、アドオン globalChrome.cssを使うなどしてUI要素を隠す必要があります。

Thunderbirdのアカウント設定を非表示にしたい(管理者が設定を集中管理するので、アカウント設定の画面にアクセスさせたくない)

キーワード?機能制限 / 導入時初期設定 / 集中管理

MCD(AutoConfig)グループポリシーなどの方法でアカウント設定を管理者が管理する際に、ユーザがアカウント設定の画面にアクセスできないようにすることができます。

設定方法

アカウント設定画面へのアクセス経路をUI上に表示しないようにするためには、アドオン globalChrome.cssを使うなどしてメニュー項目を隠す必要があります。globalChrome.css を使う場合の手順は以下の通りです。

  1. 「メモ帳」などのテキストエディタを開き、4で調べたIDを使って項目を非表示にするスタイル指定を記述します。

    @-moz-document url-prefix(chrome://messenger/content/) {
      #menu_accountmgr,
      #appmenu_accountmgr,
      #appmenu_newAccountPopupMenuSeparator,
      #appmenu_newCreateEmailAccountMenuItem,
      #appmenu_newMailAccountMenuItem,
      #appmenu_newIMAccountMenuItem,
      #appmenu_newFeedAccountMenuItem,
      #appmenu_newAccountMenuItem {
        display: none !important;
      }
    }
    @-moz-document url-prefix(chrome://messenger/content/msgAccountCentral.xul) {
      #AccountsHeader,
      #AccountSettings.spacer,
      #AccountSettings,
      #CreateAccount.spacer,
      #CreateAccount,
      #CreateAccounts,
      #AccountsSection.spacer {
        display: none !important;
      }
    }
    

    @-moz-document は、特定のウィンドウに対してのみスタイル指定を反映させるための記述です。詳細は@-moz-document について参考を参照して下さい。)

  2. 1で作成した内容を globalChrome.css という名前のプレーンテキストファイルに保存します。
  3. 2で作成したファイルをThunderbirdのインストール先の chrome フォルダに設置します。 (Windows Vista以降の場合のファイルの設置場所は C:\Program Files (x86)\Mozilla Thunderbird\chrome\globalChrome.css となる。)
  4. 管理者によるアドオンのインストール手順に従ってglobalChrome.cssを導入します。

about:config(設定エディタ)の利用を禁止したい

キーワード?機能制限 / 導入時初期設定 / 集中管理

無用なトラブルを避けるため、ユーザが about:config(設定エディタ)の画面にアクセスできないようにすることができます。

設定方法

about:config の利用を禁止する最も簡単な方法は、アドオン Disable about:configを使うことです。 管理者によるアドオンのインストール手順に従ってDisable about:configを導入すると、about:config へのアクセスが完全に禁止されます。

また、CCK2 Wizardでも同様のカスタマイズが可能です。