Tentando acessar o kerberized NFS mount dá: 'ERRO: GSS-API: erro em gss_acquire_cred ()'

0

Eu tenho um sistema de arquivos NFS kerberizado que estamos tentando acessar de um cliente Ubuntu 16.04. O servidor é RHEL7. Podemos montá-lo com sucesso (como root):

mount -t nfs4 -o sec=krb5 colossal.ipa.localdomain:/export/home /mnt

Eu posso rodar 'df' ou 'ls / mnt' como root com sucesso, mas quando tento fazer o mesmo através de uma conta usuário ('username @ localdomain'), as saídas rpc.gssd o erro:

ERROR: GSS-API: error in gss_acquire_cred(): GSS_S_FAILURE (Unspecified GSS failure.  Minor code may provide more information) - Can't find client principal username@localdomain in cache collection

A saída de depuração completa (incluindo KRB5_TRACE = / dev / stdout) do rpc.gssd é:

# rpc.gssd -f -v -v -v -r -r -r
Warning: rpcsec_gss library does not support setting debug level
beginning poll
[...]
handling gssd upcall (/run/rpc_pipefs/nfs/clnt0)
handle_gssd_upcall: 'mech=krb5 uid=1388813135 enctypes=18,17,16,23,3,1,2 '
handling krb5 upcall (/run/rpc_pipefs/nfs/clnt0)
process_krb5_upcall: service is '<null>'
[28643] 1501554205.58843: Retrieving username@localdomain from FILE:/etc/krb5/user/0/client.keytab (vno 0, enctype 0) with result: 2/Key table file '/etc/krb5/user/0/client.keytab' not found
ERROR: GSS-API: error in gss_acquire_cred(): GSS_S_FAILURE (Unspecified GSS failure.  Minor code may provide more information) - Can't find client principal username@localdomain in cache collection
getting credentials for client with uid 1388813135 for server colossal.ipa.localdomain
WARNING: Failed to create krb5 context for user with uid 1388813135 for server colossal.ipa.localdomain
doing error downcall

'username @ localdomain' tem um Kerberos TGT em LOCALDOMAIN:

$ klist
Ticket cache: KEYRING:persistent:1388813135:1388813135
Default principal: username@LOCALDOMAIN

Valid starting     Expires            Service principal
01/08/17 12:23:15  01/08/17 22:23:15  krbtgt/LOCALDOMAIN@LOCALDOMAIN
        renew until 02/08/17 12:23:13

Não estou claro porque o rpc.gssd está tentando ler '/etc/krb5/user/0/client.keytab'? O ccache está em um chaveiro do kernel.

Não sei se é significativo, mas as contas de usuário são obtidas por meio do sssd / IPA por meio de um trust do AD e possuem um nome de usuário 'username @ localdomain' em kerberos realm LOCALDOMAIN (o domínio do AD).

(Eu sou capaz de fazer isso com sucesso em um cliente RHEL7 NFS)

Alguma sugestão sobre qual é o problema?

    
por Robert Sturrock 01.08.2017 / 08:25

1 resposta

1

De acordo com o link , o rpc.gssd não tem suporte para chaveiro de kernel no Ubuntu 16.04.

No /etc/krb5.conf você tem:   default_ccache_name = KEYRING: persistente:% {uid}

Remova essa linha e reinicie, depois que as montagens do nfs funcionarem. Funcionou para mim hoje: -)

    
por Jochen Hein 13.10.2017 / 18:31