公司很多用户在使用Firefox,当访问某些公司网站的时候,总是会自动弹出用户和密码框要求输入。同事希望我在GPO里面进行配置,这样可以默认使用Window的登录账号进入网站。在其他的浏览器例如IE或者Chrome,这个可以通过配置trust site来实现,但是Firefox木有这个选项,对于普通用户而言,唯一的设置选项是配置Option - Security -Exception,如果是高级用户,可以输入 about:config 之后,手动添加或者更改pref的设定

那么我们怎么通过组策略来统一更改呢?豆子也不想下载安装乱七八糟的插件或者AD的管理模板,经过一番研究,发现最简单的办法其实可以通过配置user.js文件就能实现。

Mozilla默认有很多javascript的配置文件,分别位于不同的文件架内,具体位置可以参考以下文档

他的加载顺序一般是先配置默认文件,然后加载用户自己的pref.js 文件和 user.js,因为user.js是最后加载的,所以任何有冲突的设定都以user.js为准。

关于user.js的基本概述参见,他本身并不存在,有需求的用户必须手动创建

关于配置变量具体的名称和用法

以豆子的需求为例,我需要配置一个安全站点使用默认的NTLM(windows 域名登录),那么我需要创建一个user.js文件,并写入以下内容

pref("network.automatic-ntlm-auth.trusted-uris", "

下面是该变量的一个截图的解释说明

然后配置一个GPO,执行一个用户的登录脚本,将user.js文件拷贝到该用户的%APPDATA%\Mozilla\Firefox\Profiles\* 即可。注意*的名字是Mozilla随机生成的。

拷贝的脚本可以直接用CMD的语句写成的批处理文件copy.bat

if exist "%APPDATA%\Mozilla\Firefox" for /D %%F in ("%APPDATA%\Mozilla\Firefox\Profiles\*") do copy /y \\*domain_name*\netlogon\user.js %%F

具体的操作方法可以参考这篇博客