所有最常用的 Linux 发行版都默认安装了火狐 (firefox) 浏览器 (或至少在官方软件库中可用),包括国产的 UOS、麒麟等系统。为了使用起来更有个性化, 我们可以创建和部署 "策略"。在本教程中,我们将学习如何通过 policy.json 文件配置系统级策略来定制 Firefox 并轻松定置个人特性。

目录说明
系统任意
软件firefox(火狐)
其它管理员权限
说明- 要求给定的 linux-commands 以 root 权限执行,可以直接作为 root 用户或使用 sudo 命令
$ - 要求给定的 linux-commands 以普通非特权用户执行

一、策略介绍

通过在设置页面导航或使用更高级的 "about:config "菜单 (通过访问 "隐藏 "选项) 来交互式地配置火狐,可能是一项耗时的任务,特别是当我们需要在多个电脑复制设置时。在这种情况下,自动化是至关重要的,最实用的解决方案是建立和部署策略。

火狐浏览器的策略是通过使用 JSON(JavaScript Object Notation) 语法实现的,在 policy.json 文件中,可以在两个地方创建。

1. 在 Firefox 安装根目录下的 "distribution "目录中;2. 在"/etc/firefox/policies "目录内

Firefox 的安装路径因安装方式和我们使用的发行版而不同。例如,在 Fedora 上,当通过 dnf 软件包管理器安装时,Firefox 被安装在/usr/lib64/firefox 下。在下面的表格中,列出了常见的 linux 发行版 firefox 的安装路径。

发行版Firefox 安装路径
Fedora/usr/lib64/firefox
Debian (amd64)/usr/lib/firefox-esr
Ubuntu/snap/firefox/current/usr/lib/firefox
Archlinux/usr/lib/firefox/distribution
UOS/opt/apps/org.mozilla.firefox/
常见的 linux 发行版 firefox 的安装路径

请注意,在最近的 Ubuntu 版本中,Firefox 是作为一个 snap 包默认安装的,这就是为什么它的路径与其他的完全不同的原因,UOS 系统因为国产化, 路径更是与众不同。

为了避免不同发行版之间的差异,推荐的解决方案是将我们的 "policy.json "文件写在/etc/firefox/policies 目录下。这是在本教程中使用的方法,我们必须确保该目录存在,没有就创建一个。

$ sudo mkdir -p /etc/firefox/policies

二、创建一个策略

一个策略由一系列的选项和相应的值组成。通过策略,我们几乎可以管理 Firefox 的每一个方面:除此之外,我们还可以设置扩展程序、书签和更新,以及浏览器界面的各个方面。

可以在 github 上的 mozilla 策略模板页面找到指定的键的完整列表及其文档,这里我们只看到一些例子。

在 policy.json 文件中指定的所有设置,必须在主 "policies "部分以键/值对的形式指定。

{
  "policies":{
    
  }
}

添加书签作为政策的一部分

为了指定书签作为 Firefox 策略的一部分,我们必须使用书签键。这个键接受一个对象数组作为值。每个对象代表一个书签,并使用一组键来定义,正如你在下面的例子中看到的那样。

{
  "policies":{
    "Bookmarks":[
      {
        "Title":"Linuxconfig.org",
        "URL":"https://linuxconfig.org",
        "Favicon":"https://linuxconfig.org/favicon.ico",
        "Placement":"toolbar",
        "Folder":"Linux"
      }
    ]
  }
}

在上面的例子中,我们为 "Linuxconfig.org "定义了一个书签,包括一个标题、一个 Url 和一个 Favicon。我们还通过使用 Placement 键指定了书签的放置位置 ("工具栏 "与 "菜单")。最后,我们确定书签应该包含在一个名为 "Linux "的文件夹中。

要看到应用结果,我们只需关闭浏览器的当前实例,然后启动一个新的实例。在下面的截图中,你可以看到 "Linux "文件夹中的 "Linuxconfig "书签的创建结果。

The bookmark included as part of the policy
The bookmark included as part of the policy

禁用火狐浏览器遥测功能

默认情况下,Firefox 被配置为向 Mozilla 发送技术和数据交互信息。这个 "功能 "被称为遥测,大多数时候你都想禁用它。为了禁用遥测作为我们策略的一部分,我们需要使用 DisableTelemetry 键,它接受 true 或 false 作为值。

{
  "policies":{
    "DisableTelemetry":true
  }
}

指定扩展作为策略的一部分

我们可以指定一组可以被安装、移除或锁定的扩展程序,作为我们的 Firefox 策略的一部分。为了完成这项任务,我们使用扩展程序键。在下面的例子中,我们指定要安装 "NoScript "扩展作为我们策略的一部分,并且我们要锁定它,所以它不能被用户删除。

{
  "policies":{
    "Extensions":{
      "Install":[
        "https://addons.mozilla.org/firefox/downloads/file/4067473/noscript-11.4.16.xpi"
      ],
      "Locked":[
        "{73a6fe31-595d-460b-a920-fcc0f8843232}"
      ]
    }
  }
}

为了指定应该安装的扩展,我们包括了它们的 URL,这些 URL 可以在 Firefox addons 网站上找到。而要锁定或卸载的扩展,则是通过它们的 ID 来引用的。检索扩展程序 ID 的一个简单方法是在浏览器的 about:debugging 页面上导航,并点击侧边栏菜单中的 "This Firefox "条目。在这种情况下,我们可以看到 NoScript 扩展的 ID 是"{73a6fe31-595d-460b-a920-fcc0f8843232}"。

在about:debugging页面可以很容易找到扩展的ID。
在 about:debugging 页面可以很容易找到扩展的 ID。

由于我们将该扩展锁定为我们政策的一部分,所以终端用户不允许删除它。正如你在下面的截图中看到的,"删除扩展 "条目是灰色的。

三、结论

在本教程中,我们看到了一些定义 Firefox 系统级策略的例子。策略对于自动化和在多台机器上复制预定义的设置非常有用。在这篇文章中,我们看到了如何禁用遥测,并将书签和扩展程序作为策略的一部分。

翻译自:https://linuxconfig.org/how-to-customize-firefox-using-the-policies-json-file

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注