我在 
 Samba AD DC HOWTO之后在ubuntu 14.04上设置了一个samba 4活动目录.原则上一切都运行良好,但我仍然坚持使用SPN为Web应用程序运行kerberos身份验证. 
 
当我试图跑
当我试图跑
kinit -k -t keytabfile http/myserver.mycompany.com
我总是得到一个
kinit: Client not found in Kerberos database while getting initial credentials
到目前为止我已经检查过的内容:
> DNS正在向前和向后返回FQN
> kinit使用用户名
> nsserver和webserver上的nslookup返回了myserver.mycompany.com
> myserver allready已加入域名并列入
CN =电脑,DC = myCompany中,DC = COM
>没有公开的SPN
我创建了服务帐户/ SPNs / keytabs,如下所示:
samba-tool user create $ADS_USER $ADS_PW --userou=$USER_OU
samba-tool user setexpiry --noexpiry $ADS_USER
samba-tool spn add ${SERVICE_TYPE}/${SERVICE_HOST}.${MY_DOMAIN} $ADS_USER
samba-tool spn add ${SERVICE_TYPE}/${SERVICE_HOST} $ADS_USER
samba-tool spn list $ADS_USER
rm -f $MY_KEYTAB
samba-tool domain exportkeytab $MY_KEYTAB --principal=${SERVICE_TYPE}/${SERVICE_HOST}.${MY_DOMAIN}
samba-tool domain exportkeytab $MY_KEYTAB --principal=${SERVICE_TYPE}/${SERVICE_HOST} 
 跑步的时候
klist -k -e $MY_KEYTAB
一切都很好:
root@myhost:~# klist -ke ./test.keytab Keytab name: FILE:./test.keytab KVNO Principal ---- -------------------------------------------------------------------------- 1 http/myserver.mycompany.com@MYCOMPANY.COM (des-cbc-crc) 1 http/myserver.mycompany.com@MYCOMPANY.COM (des-cbc-md5) 1 http/myserver.mycompany.com@MYCOMPANY.COM (arcfour-hmac) 1 http/myserver@MYCOMPANY.COM (des-cbc-crc) 1 http/myserver@MYCOMPANY.COM (des-cbc-md5) 1 http/myserver@MYCOMPANY.COM (arcfour-hmac)
我迷路了,在谷歌研究了几个小时,不知道如何解决/修复“Kerberos数据库中找不到客户端”错误.任何提示都是受欢迎的!
谢谢
我在客户端上的“/etc/krb5.conf”
[libdefaults]
    debug = true
        default_realm = MYCOMPANY.COM
        dns_lookup_realm = false
        dns_lookup_kdc = false
        default_tkt_enctypes = rc4-hmac
        default_tgs_enctypes = rc4-hmac
[realms]
        MYCOMPANY.COM = {
                kdc = dc01.mycompany.com
                admin_server = dc01.mycompany.com
                kpasswd_server = dc01.mycompany.com
                #ktpasswd_server = dc01.mycompany.com
                #admin_server = dc01.mycompany.com
        }
[domain_realm]
        .mycompany.com = MYCOMPANY.COM
        mycompany.com = MYCOMPANY.COM 
 在dc服务器/etc/samba/smb.conf上
[global]
        debug level = 1
        syslog = 1
        max log size = 0
        workgroup = MYCOMPANY
        realm = MYCOMPANY.COM
        netbios name = DC01
        server role = active directory domain controller
        server string = MYCOMPANY domain controller
        server role check:inhibit = yes
        dns forwarder = 192.168.22.1
        idmap_ldb:use rfc2307 = yes
 终于我明白了! 
  
 
                    
                    
                该
samba-tool spn add ...
没有(重新)在目录中按预期命名UPN.我通过与MS ADS条目进行比较找到了它.因此,解决方法是在发出exportkeytab命令之前手动更改值:
>使用ldap-tool(我使用Apache Directory Studio)打开服务用户条目
>找到刚创建的用户编辑“userPrincipalName”以反映servicePrincipleName REALM(在我的情况下为http/myserver.mycompany.com@MYCOMPANY.COM)
>导出keytab,一切都按预期工作
在目标机器上
kinit -k -t http/myserver.mycompany.com
工作没有任何抱怨!希望这有助于其他人尝试使用Samba4设置SSO …