我正在尝试让Kerberos连接到我的Mac(Big Sur(上的MS SQL数据库。我一直遵循这里的指示。我的Kerberos身份验证连接曾经工作过。当我最近试用它们时,它们就停止工作了。这可能是由于升级了操作系统。
根据说明,我有一个/etc/krb5.conf
文件,看起来像这样:
[libdefaults]
default_realm = DOMAIN.COMPANY.COM
[realms]
DOMAIN.COMPANY.COM = {
kdc = dc-33.domain.company.com
}
当我转到我的终端并运行kinit username@DOMAIN.COMPANY.COM
时,它会提示我输入密码。在成功输入密码后,我立即按照建议运行klist
命令,得到的结果如下:
Credentials cache: API:1234A5B6-7C8D-9EF0-B1F9-ED757F2418F4
Principal: username@DOMAIN.COMPANY.COM
Issued Expires Principal
Apr 5 09:02:23 2022 >>>Expired<<< krbtgt/DOMAIN.COMPANY.COM@DOMAIN.COMPANY.COM
这看起来像是我机器上某个地方的旧机票/凭证(我写的是今年4月8日(。旧票是";过期";。为什么klist命令没有检索最近的kinit
凭据?是什么原因造成的?我该怎么修?
我尝试过的东西
天真的是,在我的所有Kerberos连接问题开始时,在出现此错误之前,我认为我需要更新/升级Kerberos。所以我用brew install krb5
安装了Kerberos。不幸的是,我认为这只是混淆了操作系统,因为Kerberos当时安装在两个位置。
我看到操作系统可能需要";知道";如果混淆了Kerberos文件,在哪里可以找到它(请参阅上面的要点(。因此,我在.zshrc
文件中添加了以下几行。
export PATH=/usr/local/opt/krb5/bin:$PATH
export PATH=/usr/local/opt/krb5/sbin:$PATH
export LDFLAGS="-L/usr/local/opt/krb5/lib $LDFLAGS"
export CPPFLAGS="-I/usr/local/opt/krb5/include $CPPFLAGS"
当我仍然安装了Homebrew版本的Kerberos时,这些行起到了帮助作用,但我已经运行了brew uninstall krb5
,现在它们没有帮助(请参阅下一段(。
我使用这个命令sudo find / -name "krb5"
在我的终端中搜索了krb5
文件夹。当我在长长的结果列表中搜索时,我发现了几个krb5
文件夹,但它们中没有bin
、sbin
、lib
或include
目录。因此,似乎在brew uninstall krb5
命令期间,这些文件以及/usr/local/Cellar
中的文件都被从我的系统中删除了。
我还没有尝试安装";先决条件";因为我的Kerberos过去已经工作了。因此,我假设先决条件应该已经到位,除非它们在我的操作系统更新期间发生了更改。由于brew install
尝试造成的问题,我很犹豫是否尝试。
结论
很明显,Kerberos仍然安装在我机器的某个地方,因为它会提示我在kinit
之后输入密码,并知道输入的密码是否有效。证书是";过期";在创建之后立即。我该怎么解决这个问题?
install
ing和uninstall
ing kerberos似乎破坏了您的一些操作系统设置。如果你还没有重新启动,再加上最近的操作系统更新,可能需要重新启动