30.6. Habilitando o Acesso a Outras Aplicações pelo Console

Para tornar outras aplicações acessíveis a usuários do console, é necessário um pouco mais de trabalho.

Primeiramente, o acesso pelo console funciona somente para aplicações que residem em /sbin/ ou em /usr/sbin/, portanto a aplicação que você deseja executar deve estar ali. Após verificar isto, siga estes passos:

  1. Crie uma ligação do nome de sua aplicação, como nosso programa de amostra foo, para a aplicação /usr/bin/consolehelper:

    cd /usr/bin
    ln -s consolehelper foo
  2. Crie o arquivo /etc/security/console.apps/foo:

    touch /etc/security/console.apps/foo
  3. Crie um arquivo de configuração PAM para o serviço foo em /etc/pam.d/. Uma maneira fácil de fazer isso é começar com uma cópia do arquivo de configuração PAM do serviço halt, e então alterar o arquivo se você quiser alterar o comportamento:

    cp /etc/pam.d/halt /etc/pam.d/foo

Agora, quando o /usr/bin/foo é executado, chama o consolehelper, que autentica o usuário com a ajuda do /usr/sbin/userhelper. Para autenticar o usuário, o consolehelper pede pela senha do usuário se o /etc/pam.d/foo for uma cópia do /etc/pam.d/halt (caso contrário, faz exatamente o que é especificado no /etc/pam.d/foo), e então executa o /usr/sbin/foo com permissões root.

No arquivo de configuração PAM, pode-se configurar uma aplicação para usar o módulopam_timestamp para lembrar (cache) de uma tentativa de autenticação bem-sucedida. Quando uma aplicação é iniciada e a devida autenticação é fornecida (a senha root), é criado um arquivo timestamp. Por default, uma autenticação bem-sucedida permanece no cache por cinco minutos. Durante este intervalo, qualquer outra aplicação configurada para usar pam_timestamp e ser executada na mesma seção é autenticada automaticamente para o usuário — não é neccesário indicar a senha root novamente.

Este módulo está incluso no pacote pam package. Para habilitar esta funcionalidade, o arquivo de configuração PAM no etc/pam.d/ deve incluir estas linhas:

auth sufficient /lib/security/pam_timestamp.so
session optional /lib/security/pam_timestamp.so

A primeira linha que começa com auth deve estar após quaisquer outras linhas auth sufficient; e a linha que começa com session deve estar após quaisquer outras linhas session optional.

Se uma aplicação configurada para usar pam_timestamp for autenticada com sucesso pelo Botão do Menu Principal (no Painel), o ícone é exibido na área de notificação do painel, se você estiver usando os ambientes GNOME ou KDE. Após a autenticação expirar (o default são cinco minutos), o ícone desaparece.

O usuário pode optar por esquecer a autenticação gravada no cache. Bast clicar no ícone e selecionar a opção para esquecer a autenticação.