Índice das dicas
Por um Wine mais seguro
Por Manoel Lobo Ribeiro em 25 de junho de 2007 às 12h57
0Apesar da incompatibilidade, é possível executar alguns programas (e jogos) para Windows nesses sistemas, Wine é o responsável.
Trata-se de um software que implementa a API (interface de comunicação entre o programa e o sistema operacional, e vice-versa) do Win32 e faz a conversão das chamadas de sistema, de forma que os Unices (plural de Unix - vide Wikipedia) e derivados possam executar tais programas.
Infelizmente nem tudo são flores, a compatibilidade provida pelo Wine traz o "underground" (submundo) do universo Microsoft para os desktops dos usuários de Linux, BSD e Unix em geral.
Certa vez por brincadeira, executei um vírus no meu sistema (Debian, na época) com a ajuda do Wine, felizmente a possibilidade do vírus fazer algum estrago no sistema era remota, devido à minha credencial de usuário ordinário (não-admin) e também pelas permissões do sistema de arquivos.
Ocorreu a multiplicação do vírus nas pastas que meu usuário tinha permissão de escrita, por sorte, nenhum arquivo foi deletado ou corrompido.
O "pulo do gato" consiste em definir quem pode e quem não pode (ou não deve, de preferência) executar o Wine.
Todo o procedimento deverá ser executado como "root".
1. Crie um grupo (pode ser de sistema ou não, a diferença é o GID menor que 1000 - fico com a primeira opção, por organização) chamado "wine" e adicione à ele os usuários que poderão executar o Wine.
# adduser usuario wine
2. Localize os executáveis do Wine instalado (utilizo Ubuntu 7.04, o nome do pacote é "wine").
O comando acima lista todos os executáveis do pacote "wine" e redireciona a saída pro arquivo texto.
3. Crie um script em shell para definir as novas permissões nos executáveis do Wine.
Eis o conteúdo:
for arquivo in $(cat /tmp/wine.txt); do
chgrp wine "${arquivo}"
chmod 750 "${arquivo}"
done
Salve o arquivo ("/tmp/wine.sh", por exemplo) e saia do editor de textos.
4. Configure o atributo de execução no script e execute-o.
# /tmp/wine.sh
Aparentemente nada aconteceu, nos certificaremos mais tarde.
5. Altere o grupo e as permissões do arquivo "/usr/lib/libwine.so.1.0" e da pasta "/usr/lib/wine".
# chgrp wine /usr/lib/libwine.so.1.0
# chgrp wine /usr/lib/wine
# chmod 640 /usr/lib/libwine.so.1.0
# chmod 750 /usr/lib/wine
6. Teste!
Tente executar o comando "wine" ou qualquer outro oriundo do do pacote, faça-o com um usuário pertencente ao grupo, depois faça-o com outro não-pertencente.
O segundo usuário não conseguirá executar o comando e nem ler as bibliotecas que o mesmo necessita, tornando impossível a execução de programas para Windows.
Isto é bem útil quando o computador é compartilhado, nem todos os usuários têm consciência dos anexos recebidos por e-mail, sites forçando downloads apenas em visita-los, e até mesmo mídias removíveis (disquete, CD/DVD, pendrive, etc) de fontes não confiáveis.
Caso o Wine seja atualizado ou reinstalado, será necessário repetir todo o procedimento.
Sem comentáriosPor Manoel Lobo Ribeiro. Revisado 25 de junho de 2007 às 12h57


Comentários