O CUPS não funciona corretamente após o upgrade do Debian Wheezy - Jessie devido a uma libpam defeituosa

2

Acabei de atualizar um Debian Wheezy para Jessie, alterando o /etc/apt/sources.lst . Se importante: fixei systemd para ficar com sysvinit e, após a atualização, removi o pino. Se eu fizer agora apt-get update && apt-get dist-upgrade , tudo está atualizado. Até agora, tudo funciona bem, apenas um problema com a autenticação do CUPS surgiu:

No Wheezy já havia o CUPS instalado e funcionando, o acesso remoto foi concedido com cupsctl --remote-admin . Eu poderia autenticar na interface da web com root:myrootpassword . Após a atualização, fiz cupsctl --remote-admin novamente e funcionou para que eu pudesse acessar o painel da web do administrador. Alterar opções ainda requer autenticação, mas usar root:myrootpassword não funciona mais.

Eu procurei o arquivo de log /var/log/cups/error_log que é impresso ao tentar autenticar na interface da Web do CUPS:

pam_authenticate() returned 28 (Module is unknown)

Então eu olhei para /etc/pam.d/cups , que tem:

@include common-auth
@include common-account
@include common-session

Esses três arquivos incluídos existem no mesmo diretório e não estão vazios. Eu não tenho nenhuma experiência com pam. Estes pacotes estão instalados:

# dpkg --get-selections | grep  pam
libpam-cap:amd64                                install
libpam-ck-connector:amd64                       install
libpam-modules:amd64                            install
libpam-modules-bin                              install
libpam-runtime                                  install
libpam0g:amd64                                  install
libpam0g:i386                                   install

O arquivo /var/log/auth.log tem:

Apr 17 15:01:14 mypc cupsd: PAM unable to dlopen(pam_ck_connector.so): /lib/security/pam_ck_connector.so: cannot open shared object file: No such file or directory
Apr 17 15:01:14 mypc cupsd: PAM adding faulty module: pam_ck_connector.so

No entanto, o pacote pam_ck_connector está instalado e a versão mais recente. Fazendo um find / -name pam_ck_connector.so dá:

/lib/x86_64-linux-gnu/security/pam_ck_connector.so

Então, parece que esses arquivos estão simplesmente em um caminho errado. Eu tentei definir um link simbólico, mas depois eu entro em /var/log/auth.log para este arquivo:

wrong ELF class: ELFCLASS64

Em seguida, instalei o pacote i386 :

apt-get install libpam-ck-connector:i386

que é instalado em /lib/i386[...]/security/libpam-ck-connector.so . Eu defini novamente um link simbólico. Mas então a mesma massagem apareceu por pam_cap . Então, nós temos algum problema com 32 < - > 64 Bit compatibilidade de algum pacote ( libpam* ou cups ) ou um bug no gerenciador de pacotes / banco de dados Debian? Não pode ser a maneira correta de ter pessoas instalando essas coisas manualmente e definir links simbólicos, ou é?

Como posso corrigir essa mensagem de erro para que a autenticação funcione novamente com root:myrootpassword no painel da web do CUPS?

    
por Foo Bar 17.04.2015 / 14:27

1 resposta

1

Por algum motivo, você acabou com i386 cups-daemon instalado, em vez de amd64 . É por isso que ele acaba precisando de i386 módulos PAM ...

Para corrigir isso, você precisa remover cups-daemon e reinstalar o amd64 versão; como root:

apt-get remove cups-daemon:i386
apt-get install cups-daemon:amd64

Se as suas arquiteturas dpkg estiverem configuradas corretamente, você poderá descartar a parte :amd64 do último comando.

    
por 18.04.2015 / 09:47