queremos montar compartilhamentos por meio do autofs. Nada de especial pensamos. Mas: isso deve ser feito em algumas circunstâncias complexas do diretório ativo. O que nós temos: estações de trabalho integradas do Ubuntu 14.04, nas quais os usuários podem fazer login com suas credenciais do Windows. O maior trabalho é feito usando o sssd, que também cria um kerberos-ticket no momento do login.
Agora: queremos usar esse tíquete para autenticar os compartilhamentos de rede.
As circunstâncias complexas são: o AD é baseado em muitas convenções de nomes de local. As configurações a seguir são anonimizadas. O PROBLEMA:
A tentativa de montagem falha com:
cifs.upcall: find_krb5_cc: considering /tmp/krb5cc_594111_644IQv
cifs.upcall: find_krb5_cc: FILE:/tmp/krb5cc_594111_644IQv is valid ccache
cifs.upcall: handle_krb5_mech: getting service ticket for shareserver.sub.example.org
cifs.upcall: cifs_krb5_get_req: unable to get credentials for shareserver.sub.example.org
cifs.upcall: handle_krb5_mech: failed to obtain service ticket (-1765328377)
cifs.upcall: Unable to obtain service ticket
Assim, o kerberos-ticket é para [email protected] gerado. Mas queremos nos conectar ao SHARESERVER.SUB.EXAMPLE.ORG
O nosso kerberos não é válido para se conectar ao servidor ou é um sistema kerberos mal configurado, que não liga de sub.example.com para example.com.
Krb5.conf:
[libdefaults]
default_realm = EXAMPLE.COM
# The following krb5.conf variables are only for MIT Kerberos.
krb4_config = /etc/krb.conf
krb4_realms = /etc/krb.realms
kdc_timesync = 1
ccache_type = 4
forwardable = true
proxiable = true
# The following libdefaults parameters are only for Heimdal Kerberos.
v4_instance_resolve = false
v4_name_convert = {
host = {
rcmd = host
ftp = ftp
}
plain = {
something = something-else
}
}
fcc-mit-ticketflags = true
[realms]
[domain_realm]
.example.com = EXAMPLE.COM
example.com = EXAMPLE.COM
[login]
krb4_convert = true
krb4_get_tickets = false