
Existe uma maneira de negar o acesso do Firefox aos arquivos no diretório inicial? Cada vez que a luz de um modem ADSL pisca de forma suspeita, fico preocupado com a possibilidade de meus arquivos serem transferidos para um hacker.
Responder1
Revisado, incorporando a visão de Dmytro sobre os comandos xhost necessários, melhor aproveitamento para sudo
tornar isso muito mais simples e equipar /home/foxy/
com os arquivos necessários. Funciona para mim no 16.04 com Openbox simples (como um Lubuntu mais enxuto).
Sim, você poderia fazer isso. Crie outra conta de usuário, chamaremos de "foxy", seja com algo como Configurações do sistema ou a partir de uma linha de comando:
sudo adduser foxy
Agora você precisa fornecer a esse usuário os arquivos de configuração necessários para usar o Firefox. Você provavelmente pode fazer isso mais corretamente registrando-se novamente como foxy e fazendo isso a partir daí, mas descobri que era suficiente copiar os "arquivos de ponto" "ocultos", como .config
e .mozilla
do meu diretório pessoal para /home/foxy/
& então:
chown -R foxy:foxy /home/foxy
Neste ponto, já que você não precisa mais fazer login como foxy, pode ser uma boa ideia redefinir a senha do foxy para alguma string absurdamente longa e aleatória. Seriamente longo e aleatório, já que você não precisará se lembrar disso. Isso é semelhante à abordagem usada pelo Ubuntu para semi-desativar a conta root. Isso não é grande coisa, já que foxy não estará no arquivo sudoers de qualquer maneira, mas já que estamos sendo realmente durões, vamos até o fim. Como você precisará digitá-lo duas vezes, você deverá colocá-lo na área de transferência ou em um terminal ou editor aberto para copiá-lo. Mas tome cuidado para não gravá-lo em uma unidade. Você pode até criar e montar um sistema de arquivos ramfs e gravar um arquivo de texto nele, depois abrir o arquivo de texto e criar sua longa string aleatória nele e copiar de lá. Para fins especiais de alta segurança, o ramfs é superior ao tmpfs porque nunca é gravado para swap. (Mas tenha cuidado ao usá-lo de maneira mais geral, porque ele usará TODA a sua RAM se você continuar colocando coisas nele.) De qualquer forma, para alterar a senha do foxy, use:
sudo passwd foxy
Agora fazemos 2 pequenos scripts. Chamaremos o primeiro ffx
e o colocaremos em algum diretório do caminho. Assim:
#!/bin/bash
# This file, ffx, needs to go in a directory on the path
sudo /path/to/a_password_exempted_directory/ffx_2.sh
(Você provavelmente poderia fazer isso como uma função ou alias e carregá-lo com seu perfil bash ou um dos arquivos semelhantes, em vez de torná-lo um script em seu caminho, se preferir, mas não testei isso.)
Chamaremos o outro de ffx_2.sh e colocaremos em um diretório que foi isento da necessidade de digitar uma senha com sudo com as linhas apropriadas em /etc/sudoers
. Assim:
#!/bin/bash
# This needs to go in a directory that is exempted from password requirement in /etc/sudoers
# Allows foxy to access the logged in user's xserver
xhost nis:foxy@
# starts firefox as foxy with home set to /home/foxy
sudo -u foxy --set-home firefox
# Removes foxy's privilege to use the xserver
xhost -nis:foxy@
Estou seguindo a abordagem noid do Dmytro e ativando o acesso do foxy ao servidor x somente ao usar o Firefox e desativando-o posteriormente. Eu não acho que isso seja realmente necessário. Talvez seja mais seguro, mas isso não é óbvio para mim. Eu acho que você pode simplesmente executar o primeiro comando xhost:
xhost nis:foxy@
UMA VEZ e o acesso do foxy persistirá durante as reinicializações. Se eu estiver certo e você fizer dessa maneira, poderá retirar os dois comandos xhost do script, depois de executar o primeiro comando uma vez.
De qualquer forma, você pode invocar isso a ffx
partir de um terminal, caixa de execução ou menu editado manualmente, como o menu Openbox ou 9menu. Você pode criar um arquivo de desktop para ele e colocá-lo em /usr/share/applications
menus adaptáveis, como o menu debian do pacote menu
ou, me disseram, Launcher
no Unity, deveria pegá-lo.
Para antecipar uma objeção, este NÃO é um risco de segurança como seria sudo firefox
ou gksudo firefox
seria. Sudo e comandos semelhantes tratam fundamentalmente de fazer algo como outro usuário. Mas eles são usados para fazer algo AS ROOT com tanta frequência que o padrão é -u root
(o que você também pode fazer explicitamente) salvar as teclas digitadas. Não é usar o sudo com o Firefox que é perigoso, é usar o sudo para executar o Firefox AS ROOT que é perigoso. Ao usar a -u
opção e especificar outro usuário comum, você não estará executando o Firefox como root.
Comparação com a abordagem de bloqueio de script:
contras:
mais trabalho para implementar do que noscript ou librescript
menos de uma abordagem "padrão"
bloqueadores de script PODEM reduzir o uso de recursos, isso não
prós:
O Firefox pode acessar todas as funções de sites dependentes de script.
Não requer nenhum ajuste após a implementação inicial.
Mais fácil de usar.
Você AINDA pode usar extensões do Firefox para reduzir o uso de recursos. Noscript não é a única opção para isso. Flashblock, FlashStopper, Gifblock, Bloco de imagem, etc.
Responder2
Como uma solução simples e direta, você pode instalarnoscriptExtensão do Firefox.
Por padrão, ele desativa o acesso a arquivos locais. Você pode ver isso em noscript
opções →Avançadoaba →ABEsubguia → Regras do SISTEMA.
Ele também permite controlar globalmente a execução de Javascript e por domínio. Se você não precisa desse recurso, você pode desativá-lo nas configurações da extensão (mas de acordo com o ponto de vista da sua pergunta, acho que será útil).
Você pode obter mais informações no site delesnoscript.net.