Para executar determinados programas do Windows no WINE, você precisa desta solução alternativa:
echo 0|sudo tee /proc/sys/kernel/yama/ptrace_scope
De acordo com os sites de suporte, isso ocorre devido a um bug no kernel do Ubuntu que impede o ptrace e o WINE tocando bem juntos.
Usando o comando acima, você define o ptrace para 0, o que, de acordo com a pesquisa que fiz (não me pergunte quais sites, eu pareço muitos deles), o ptrace tem a ver com as interações entre os programas. A configuração 0 é mais permissiva que a 1.
Eu tenho que assumir que havia uma boa razão para o Ubuntu querer o ptrace = 1, então isso me leva de volta à forma abreviada da questão.
Existem riscos envolvidos na configuração de ptrace = 0. Menor segurança? problemas na depuração? quaisquer outros que eu não tenha pensado ???
PS para qualquer pessoa que esteja lendo isso e se perguntando o que o bug causa, os programas do Windows não serão abertos. No Monitor do Sistema, você verá muitas instâncias do programa tentando abrir e, em seguida, todos sairão e se você executar o programa para o terminal, você receberá um erro informando que o número máximo de instâncias do programa foi atingido.
Respostas:
Resposta curta: sem perigo prático ainda, mas continue lendo para uma maneira melhor ...
O que é essa coisa de ptrace , afinal?
Não, a proteção do ptrace é uma medida deliberada de segurança do kernel, introduzida pela primeira vez no Ubuntu 10.10. Não é um bug e, portanto, não será "corrigido".
Em termos simples, o
ptrace_scope
valor padrão de1
impede que um processo examine e modifique outro processo , a menos que o segundo processo (filho) tenha sido iniciado pelo primeiro processo (pai).Isso pode causar problemas em alguns programas do Wine, devido à maneira como o
wineserver
"Windows Services" fornece esses programas.Quais são os riscos na definição
ptrace_scope
de0
?Isso restaura o comportamento antigo em que um processo pode "rastrear" outro processo, mesmo se não houver relacionamento pai-filho.
Em teoria, um pedaço de malware pode usar isso para prejudicar você / seu computador; por exemplo, ele pode se conectar ao Firefox e registrar todos os seus URLs / senhas, etc. Na prática, isso é extremamente improvável, a menos que você instale cegamente as senhas binárias de sites aleatórios, etc.
No que diz respeito à depuração, as
0
configurações são de fato necessárias para quegdb
,strace
etc. sejam anexadas a não-filhos, a menos que você as execute com privilégios elevados (sudo).Quais são os problemas com a solução alternativa?
ptrace_scope
é um valor global e, embora esteja definido como0
, todos os processos no seu sistema estão isentos da restrição que não é filho.ptrace_scope
mundo gravável (666), como recomenda a publicação no fórum - isso é um enorme risco à segurança, porque agora qualquer processo pode alterá-lo à vontade!Existe uma solução melhor?
Uma solução melhor, mais segura e que não exija modificações repetidas no ptrace_scope, é conceder aos recursos ptrace do Wineserver .
Em um terminal:
Isso isenta os binários do servidor de vinho e do pré-carregador de vinho da restrição não-filho ptrace e permite que eles sigam qualquer processo.
Se você estiver usando o Crossover
Instale a libcap2:
Em seguida, adicione uma exceção para o Crossover:
Por fim, adicione suas bibliotecas ao ld.so.conf (ou você receberá "erro ao carregar as bibliotecas compartilhadas: libwine.so.1: não é possível abrir o arquivo de objeto compartilhado: não existe esse arquivo ou diretório"):
fonte
No ubuntuforums.org , recebi uma resposta com o seguinte link
https://wiki.ubuntu.com/SecurityTeam/Roadmap/KernelHardening#ptrace_Protection
aqui está o colar do link (com minha ênfase adicionada)
Portanto, acho que a resposta mais curta seria que é menos seguro, mas o provável capuz de um computador pessoal sujeito a esses tipos de ataques seria bem pequeno.
fonte
ATUALIZAÇÃO As instruções acima:
não funciona a partir de 15/09/2018 no Ubuntu 18.04.1 e PlayOnLinux v.4.2.12 usando a versão estável mais recente do Wine, que é a v.3.0.1, libcap2 já estava instalada.
A mensagem de erro no Terminal Gnome é a seguinte:
Não tenho certeza do que isso significa ..... mas pensei em publicá-lo para alguém interpretar e talvez ter uma solução nova e viável.
Obrigado.
fonte