- Published on
Setup Chrome ExtensionInstallAllowlist Policies Under Linux
- Authors
- Name
- ttyS3
主要是想从 crx 文件安装一个扩展
因为一些原因, 这个扩展可能在 Chrome Web Store 上架的并不是最新版本, 所以只能从 crx 文件安装最新的版本.
但是当前 Chrome 版本已经不再允许直接从 crx 文件安装扩展了 (这里只讨论正常的安装, 不考虑打开开发者模式从文件load的情况).
不过 Chrome 官方也并没有封死路, 只是需要在策略里面添加一个白名单, 才能允许从 crx 文件安装扩展.
wiki里面只介绍了 Windows 下载改注册表的方法.
Windows 下的方法
# Chrome
reg add HKLM\SOFTWARE\Policies\Google\Chrome\ExtensionInstallAllowlist /v 99999 /t reg_sz /d dmmjlmbkigbgpnjfiimhlnbnmppjhpea /f
# Edge
reg add HKLM\SOFTWARE\Policies\Microsoft\Edge\ExtensionInstallAllowlist /v 99999 /t reg_sz /d dmmjlmbkigbgpnjfiimhlnbnmppjhpea /f
或将以下内容保存为 addWhitelist.reg 文件,然后双击导入注册表:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome\ExtensionInstallAllowlist]
"99999"="dmmjlmbkigbgpnjfiimhlnbnmppjhpea"
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Edge\ExtensionInstallAllowlist]
"99999"="dmmjlmbkigbgpnjfiimhlnbnmppjhpea"
Linux 下的方法
以 ExtensionInstallAllowlist
为关键字, 找到了一个文档: https://chromeenterprise.google/policies/#ExtensionInstallAllowlist
不过这个文档也比较抽象. 这个配置文件完整的结构是什么样的呢? 也没有个 demo. 不过最终老灯还是研究出来了方法. 记录如下.
# 如果 /etc/opt/chrome/policies/managed 不存在, 则自己创建一下
sudo mkdir -p /etc/opt/chrome/policies/managed
# edge linux stable is:
sudo mkdir -p /etc/opt/edge/policies/managed
然后在 /etc/opt/chrome/policies/managed
下创建一个 extension_install_allowlist.json
文件 (文件名称随意), 内容如下:
{
"ExtensionInstallAllowlist": [
"dmmjlmbkigbgpnjfiimhlnbnmppjhpea"
]
}
这个规则, Chrome 是动态加载的. 也就是说, 你可以随时修改这个文件, 就会即时生效.
要查看生效的策略, 可以访问: chrome://policy/
, 如果看到 ExtensionInstallAllowlist
策略, 并且状态是 OK, 则说明策略配置正确且生效了.
for edge, access edge://policy/
dmmjlmbkigbgpnjfiimhlnbnmppjhpea
是 Chrome 扩展的 ID, 关于怎么获取这个 ID, 官方有文档
但是其实这个东西很简单都不用说了, 就是 Chrome store 后面那一串字符串.
Refs
Set Chrome app and extension policies (Linux) https://support.google.com/chrome/a/answer/7517525?hl=en
ExtensionInstallAllowlist Configure extension installation allow list https://chromeenterprise.google/policies/#ExtensionInstallAllowlist