Como posso executar navegadores da web a partir de espaços separados (sandboxing)?

1

Situação: No desenvolvimento web eu preciso estar logado em um aplicativo como administrador , usuário normal , não autenticado usuário etc. Eu gostaria de ter uma configuração em que cada janela do navegador não tenha conhecimento da sessão conectada do outro.

Pergunta: Como posso ter várias janelas do navegador abertas, mas tê-las em execução a partir de diferentes perfis ou áreas de cache diferentes? Se perfis do firefox, como posso conseguir isso sem usando a interface do usuário do editor de perfil?

Posso criar um usuário temporário, executar o Firefox e, depois, jogar fora a totalidade dessa conta de usuário? Ou devo usar como um navegador em uma VM?

O que eu tentei até agora:

Bash

Minha primeira tentativa foi tentar algo como o seguinte:

# create temp user
tmp_user='head -c 10 /dev/random | base64 | head -c 10'

# create user
sudo useradd $tmp_user;

# run browser
sudo -u $tmp_user 'which firefox'

# hold and wait then kill account
sudo userdel $tmp_user

Eu cheguei até sudo -u $tmp_user firefox do seguinte erro exibido:

  

sh: 0: getcwd () falhou: Nenhum arquivo ou diretório desse tipo

     

sh: 0: getcwd () falhou: Nenhum arquivo ou diretório desse tipo

     

Nenhum protocolo especificado

     

Falha ao conectar-se ao Mir: Falha ao conectar ao soquete do servidor: Nenhum arquivo ou diretório   Não é possível iniciar o servidor: não foi possível conectar: Conexão recusada   Erro: não é possível abrir a exibição:: 0

Firejail

Eu tentei firejail , no entanto, acho que não entendi o que este prgoram deveria fazer. A janela principal do firefox e uma iniciada em firejail firefox estavam cientes das sessões de login umas das outras.

    
por Rick 06.06.2016 / 18:47

1 resposta

1

Com o Chromium ou o Google Chrome, basta dizer que use diretórios de dados diferentes:

google-chrome --user-dir=/tmp/admin
google-chrome --user-dir=/tmp/unauth
google-chrome --user-dir=/tmp/normal

Você pode simplesmente excluir esses diretórios quando terminar.

Ou se você quiser diretórios temporários aleatórios:

google-chrome --user-dir=$(mktemp -d)
    
por muru 06.06.2016 / 18:57