Existe uma maneira de desativar a instalação de extensões do Firefox por usuários não administradores?
Tipo de. Você pode aplicar as configurações de bloqueio com o mozilla.cfg. No entanto, isso impedirá que todos os usuários usem recursos bloqueados. É claro que os administradores podem trocar / excluir o arquivo de configuração à vontade.
Aqui está a lista de configurações que implantamos via bloqueio. É um ambiente K-12, portanto, suas necessidades provavelmente variarão.
//
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);
Veja também as definições de configuração bloqueadas nos documentos oficiais do Mozilla.org.
Esta é uma variação, compilada a partir dos detalhes úteis @ 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
Barras duplas (//) fora do código indicam comentários.
lockPref()
Especifica uma política ie obrigatórias - os usuários não podem modificar, enquanto
defaultPref()
ou pref()
especifica uma preferência ou seja nonmandatory - os usuários podem modificar o valor inicialmente set.
A configuração xpinstall.enabled
para false desativa todas as instalações através do Firefox (em execução), ou seja, instalações de sites, Ferramentas> Complementos> [Obter Complementos | Barra de pesquisa | ícone de engrenagem], Arquivo> Abrir arquivo e arraste e solte. Os formatos do instalador são .xpi e .jar.
A configuração extensions.enabledScopes
como 0 desativa todos os locais (exceto o usuário (perfil) da pasta (escopo 1) e a pasta admin ) de localização offline / manual (uma vez a cada inicialização do Firefox).
O local híbrido do escopo 1 (usuário) (pasta 'extensões' do perfil do usuário) é o único repositório do primeiro método de instalação e é obsoleto ao configurar xpinstall.enabled como false, mas não é escopo (extensions.enabledScopes) como um local descoberto (segundo método de instalação). O segundo bloco de código acima gera um erro sempre que esse local aparece e o Firefox sai.
about: config , about: config Entradas , extensão Descrições de configuração , Instalando extensões , Locais especiais
Para habilitar extensões aprovadas pelo Firefox install_directory \ browser \ extensions , defina extensions.enabledScopes
como 4 e adicionelockPref("extensions.autoDisableScopes", 11);
Em alternativa (no Windows), para permitir a extensão através do Windows registo aprovado HKLM , definidos extensions.enabledScopes
a 8 , e extensions.autoDisableScopes
para 7 . O equivalente no GNU / Linux é / usr / share / mozilla / extensions / {ec8030f7-c20a-464f-9b0e-13a3a9e97384}
Para habilitar os dois locais, use 12 e 3, respectivamente.
Também é possível lockPref()
ou defaultPref()
as configurações dessas extensões que integram sua configuração em about: config; geralmente as chaves específicas em about: config incluem o nome da extensão ou parte do nome ou em: id .
Baixe e descompacte o FoxyProxy em uma subpasta de nível superior em um compartilhamento de rede (por exemplo, compartilhamento de rede FxExts e foxyproxy da subpasta ). Em seguida, renomeie o foxyproxy subpasta com o valor entre as tags em: id no arquivo install.rdf descompactado - foxyproxy é renomeado como [email protected] .
Em seguida, em um arquivo de texto, insira o caminho na primeira linha, ou seja, \\ server \ FxExts \ [email protected] , e também renomeie o arquivo de texto (incluindo a extensão .txt) com o valor em: id - Novo O texto Document.txt é renomeado como [email protected] .
Esses arquivos de texto podem ser distribuídos para os diretórios de instalação \ navegador \ extensões existentes do Firefox ou incluídos no núcleo \ navegador \ extensões do instalador do Firefox .
Alternativa ou adicionalmente, através do registro HKLM: Nome [email protected] e Dados \\ server \ FxExts \ [email protected]
Em um ou ambos os casos (escopos 4 e 8):
Para desativar uma extensão, renomeie o nome da extensão de destino. install.rdf para, por exemplo disabled.rdf.
Para atualizar uma extensão, exclua o conteúdo em sua subpasta e descompacte o novo XPI. Geralmente o único em: id seria o mesmo.
Se extensions.autoDisableScopes
estiver definido como 15 , os usuários poderão procurar e ativar extensões preferidas em Ferramentas (Alt + T)> Complementos: barra de pesquisa. Como alternativa, ative um local para extensões ativadas automaticamente, o que deixaria a outra para extensões ativadas pelo usuário (manualmente).
No Windows, negue a permissão Ler dados em local-settings.js para que os usuários / grupos sejam isentos. Nos sistemas GNU / Linux, uma opção seria definir as permissões básicas de local-settings.js como 0600 (com raiz sendo o ug), adicionar todos os usuários a um grupo (por exemplo, fxgrp), deixando de fora os usuários isentos, e depoissetfacl -m g:fxgrp:r local-settings.js
Observe que o uso de variáveis de ambiente do sistema operacional não é seguro, pois pode ser ignorado, a menos que medidas extras fora do arquivo de bloqueio (política) sejam implementadas.
Outros: A barra de comando do console do navegador pode ser desativada por uma regra CSS em uma folha de estilos, por exemplo, .jsterm-input-container {display:none;}
para centralizar essa folha de estilos através do arquivo de bloqueio (política):
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);
O arquivo Fx.css (folha de estilos) também é carregado no modo de segurança do Firefox e pode especificar o chrome (Firefox UI) e o conteúdo ( páginas internas regras de , páginas da web). Para montagens NFS, SMB ou sistema de arquivos local, usefile:///
[ UserChrome e userContent ] .css tem a maior precedência, por isso seria bom para verificar o cromo pasta também, por exemplo,var profChrmDir = FileUtils.getDir("UChrm", false, false); if( profExtDir.exists() || profChrmDir.exists() )
Nomes e IDs de elementos do Chrome , URLs do Chrome , Trabalhando com URLs do Chrome
As outras ferramentas e o GCLI podem ser desabilitados conforme necessário, através do filtro de arquivo de bloqueio (política) para devtools*enabled
em about: config.
Para obter detalhes sobre os nsInterfaces em Components.interfaces. *, Consulte interfaces XPCOM .
PS: Para detectar erros e condições no arquivo .cfg de algumas edições do Firefox, pode ser necessário colocar todo o conteúdo do bloqueio (política) dentro de um bloco try, por exemplo, try { var ...; lockPref(); } catch(e) { Components.utils.import("resource://gre/modules/Services.jsm"); Services.startup.quit(0x03); }
opcionalmente, incluir também Services.prompt.alert(null, "Firefox", "Failed to start. Please inform the IT dept.");
no bloco catch (e) {}.
XPConnect , XPCOM Interfaces , JSCM , omni.ja , referência JS , JS rápidas , JS
Impedir que os usuários instalem complementos é mais difícil nas versões posteriores do Firefox. O Firefox não respeita a preferência xpinstall.enabled em algumas versões. (Editar: veja o comentário abaixo: eles respeitam essa preferência a partir da versão 31)
Para obter uma descrição detalhada de como modificar o Firefox para impedir a exibição do Gerenciador de Complementos e como impedir que os usuários instalem complementos, consulte este artigo .
As instruções não são para os fracos de coração, mas funcionam; Eu tenho 700 máquinas bloqueadas em um ambiente K-8 usando essas instruções.
Para obter mais informações sobre como bloquear as configurações do navegador, consulte este artigo .