Instalação de extensão global do Firefox

0

Ok, tenho acesso raiz local a uma máquina com muitas contas de usuários locais. Todos eles têm alguma versão de uma extensão específica que foi instalada sob sua conta de usuário durante a configuração da conta (várias versões, dependendo de quando a conta foi criada para o usuário). Má maneira de gerenciar eu sei, mas é um sistema antigo que me foi entregue como é.

Estou no processo de tentar atualizar a extensão globalmente. Eu tenho uma versão instalada em meu perfil, eu copiei a pasta corretamente nomeada da extensão (nome amigável não a string de ID) e movi-a para o local descrito abaixo. Há também um arquivo de configuração XML que acompanha a extensão que eu descobri separadamente como copiar para todos os usuários os perfis do Firefox.

Instalação global addon - "Se você quiser instalar uma extensão automaticamente para todos os usuários em seu sistema, você precisa extraí-la, renomear a pasta que contém o addon para a string id do addon e copiá-la para a pasta de extensões globais do firefox / usr / share / mozilla / extensions / {ec8030f7-c20a-464f-9b0e-13a3a9e97384} /, tudo o que você usar lá será chamado automaticamente quando um usuário abrir o firefox. "

Resultado para novos usuários - criou um novo usuário de teste, fez o login e a extensão está lá / funcionando. XML está lá, então todas as configurações estão presentes. Tudo bem!

Resultado para usuários existentes - Nenhum erro ou qualquer coisa, mas a versão mais antiga do aplicativo ainda está presente. Não vejo menção à nova versão do aplicativo que foi colocada na pasta de extensões globais. O XML está lá e a versão antiga do addon o vê - então eu estou bem lá. Existe uma maneira que eu só posso fazer o Firefox reconhecer addons instalados a partir do local global? Eu acho que porque a mesma extensão é instalada sob o perfil de usuário, está tomando precedência. Eu posso estar errado. Eu sou novo na administração do Ubuntu.

    
por jayhat 14.01.2016 / 01:52

1 resposta

1

Dependendo de quantos usuários você tem, você pode fazer isso com

sudo rm -rf /home/*/.mozilla/firefox/profiles/*.default/extensi‌​ons/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}*

Se você tiver muitas correspondências para o primeiro glob, isso não funcionará; isso também falhará se os diretórios pessoais do usuário não estiverem em um local típico. Nesse caso, você poderia iterar sobre cada usuário. Se você passar pelo problema de iterar sobre cada usuário, também poderá tornar o comando mais seguro executando sua limpeza pelo usuário usando sudo . Algo como

cat list_of_users| xargs -I% sudo -Hu % sh -c 'rm -rf ~/.mozilla/firefox/profiles/*.default/extensi‌​ons/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}*'

Como alternativa, você poderia integrar alguma lógica em seu perfil global. Sugiro testar o manifesto no diretório inicial para ver se ele é mais antigo que o global e remover a extensão.

    
por Brad Durrow 28.02.2017 / 17:25