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?