Garantido acesso direto do Network Manager ao Keyring
março 9, 2008 Dicas e Truques, How-To, Linux 5 ComentáriosO Network Manager é o aplicativo que facilita a configuração da rede no Ubuntu e em muitos outros sabores do GNU/Linux. No caso dos notebooks, ele detecta automaticamente as redes sem fio que estão presentes e indaga ao usuário a chave de acesso. Tal chave é salva no gerenciador de senhas Keyring. Assim, na próxima vez que a mesma rede sem fio for detectada, o Network Manager acessa o Keyring para obter a chave. Esse processo depende da intervenção do usuário, pois este deve destravar o Keyring digitando uma senha toda vez após o logon. Este artigo ensina como usar um módulo PAM para automatizar esse processo. Tal módulo passa para o Keyring a mesma senha digitada pelo usuário no GDM, fazendo o Network Manager funcionar de forma transparente para o usuário.
Entendendo o problema
Geralmente, o usuário de notebook conecta-se a diversas redes sem fio. Cada rede tem sua própria chave. Para o usuário não ter que decorar a chave de todas as redes as quais se conecta, o Network Manager do Ubuntu guarda essas chaves no chaveiro do Gnome, o utilitário Keyring. Assim, sempre que o usuário conecta-se a uma nova rede, o Network Manager pede a chave e a guarda no Keyring. Da próxima vez, ao invés de perguntar ao usuário, o Network Manager busca a chave da rede no chaveiro, deixando de incomodar o usuário.
O problema é que o Keyring também tem uma chave. Por isso, antes de conectar-se a internet, o usuário deve digitar a chave do chaveiro do Gnome. Isso é ruim, por dois motivos. Primeiro porque isso gera um atraso, pois o sistema fica parado esperando você digitar a senha. É um aborrecimento porque utilitários que dependem da internet para funcionar (aMSN, Skype, amule etc) exibem uma mensagem de erro informando que não conseguem acesso a rede. O segundo problema é o inconveniente do usuário ter que digitar duas senhas durante o logon.
Felizmente, existe uma solução para isso, um módulo PAM que destrava o chaveiro do Gnome automaticamente logo após o logon no GDM.
Entendendo o PAM
Segurança é uma área crítica da informática. Esta tem que ser constantemente atualizada para que o sistema permaneça seguro. Tal atualização depende da política de segurança. Por exemplo, pode-se definir que o root só pode efetuar login pelo console. Mais ainda, pode-se bloquear o login do root enquanto o sistema estiver conectado a internet. Outro parâmetro da política de privacidade é a criptografia das senhas dos usuários. Tais senhas serão armazenadas usando o algoritmo MD5, SHA ou AES? Melhor ainda, pode-se definir que cada usuário deva ter uma chave de hardware. O login só será efetuado se for inserido um cartão com um determinado código criptografado embutido.
Evidentemente, uma mudança radical na política de segurança de um sistema deve gerar uma mudança radical na estrutura de autenticação de diversos aplicativos (login, su, passwd, ftp, gdm etc). Já imaginou ter que reescrever o código de tantos programas toda vez que a política de segurança mudar? Para evitar esse problema, o PAM foi criado.
O PAM é uma API relacionada a segurança/autenticação. Uma API é definida por uma documentação que descreve um conjunto de funções e define uma biblioteca que os programadores podem usar. Assim, todo o código de autenticação de um aplicativo pode estar definido em uma biblioteca separada. Além disso, tal biblioteca é compartilhada por diferentes aplicativos. Então, uma mudança na política de segurança do sistema implica em uma alteração apenas nas linhas de código que definem a biblioteca PAM. Após tal alteração, todos os aplicativos que utilizam a API PAM estarão atualizados.
Na verdade, a API PAM é composta de diversos módulos. Um desses módulos será utilizado para abrir o chaveiro do Gnome automaticamente.
Configurando o sistema
Existe um módulo PAM chamado libpam-gnome-keyring. Tal módulo foi criado para trabalhar em conjunto com o Keyring. Para usa-lo, primeiro, é necessário instalar o módulos.
sudo apt-get install libpam-gnome-keyring
Após isso, o GDM precisa ser alterado. Deve-se incluir as duas linhas a seguir ao final do arquivo /etc/pam.d/gdm.
auth optional pam_gnome_keyring_auth.so session optional pam_gnome_keyring_session.so auto_start
No meu sistema, após essa alteração, tive que digitar a senha do Keyring apenas mais uma vez, quando surgiu a opção de reter a senha do Keyring. Depois disso, após o login no GDM, minha conexão sem fio já está funcionando. O sistema ficou bem melhor!
Changelog
2008/03/09 – Publicação do artigo.





A dica é muito boa e elucidativa, só um porém, no meu caso esse problema do chaveiro acontece quando instalo o Ubuntu no pendrive, e agora que estou testando o BIGLINUX está acontecendo a mesma coisa, ou seja, para seguir sua dica eu tenho que instalar a libpam-gnome-keyring, só que para isso eu preciso estar conectado na internet,mas o tal do chaveiro travado impede que eu conecte. Minha conexão e via modem 3g TIM WEB. Se você puder avançar mais um pouco na sua dica, me tiraria da escuridão da ignorância. OBS. Uma instalação limpa do Ubuntu no desktop não acontece esse inconveniente. Neste momento estou escrevendo este texto no Ubuntu 8.10 conectado com o modem 3g da tim. Obrigado pela atenção.
Esse tópico está velho! Como você disse, a instalação do Ubuntu já não tem mais esse problema. No caso do pendriver… Eu não sei. Nunca usei o Ubuntu dessa forma.
Como faço para obter o mesmo resultado (acesso direto ao gerenciador de carteiras do KDE) utilizando o KDM e o kdewallet?
Obs.: Estou utilizando o Kubuntu 9.04.
Não tem como.
Não existe um módulo PAM que trabalhe com a carteira do KDE. Já pesquisei muito isso na internet, mas nunca achei uma solução satisfatória para o KDE.
E a quem podemos solicitar a implementação deste módulo para o KDE?