我们在用户登录 Linux 计算机时遇到问题,并且其 Kerberos 主体的用户名部分为大写。这对于我们的 Hadoop 集群上的安全策略来说是一场灾难,因为它需要小写用户名。
背景是我们有 CentOS 7.3 机器正在联系 Windows AD。
我已经找到了发生这种情况的情况。我通过 ssh 进入其中一台 Linux 机器。我没有使用 SSH 密钥,因此必须输入密码。当我这样做时,我得到大写的 Kerberos 主体的用户名:
[root@machine1 ~]# ssh jasbre@machine2
jasbre@machine2's password:
Last login: Mon Sep 18 12:06:13 2017 from machine1
[jasbre@machine ~]$ klist
Ticket cache: FILE:/tmp/krb5cc_1379946670
Default principal: [email protected]
Valid starting Expires Service principal
09/18/2017 12:13:21 09/18/2017 22:13:21 krbtgt/[email protected]
renew until 09/25/2017 12:13:21
现在,我使用 SSH 密钥登录,登录时没有 Kerberos 票证(因为我没有输入密码)。然后我执行 kinit 并在主体中得到小写用户名:
[jasbre@machine2 ~]$ kinit
Password for [email protected]:
[jasbre@machine2 ~]$ klist
Ticket cache: FILE:/tmp/krb5cc_1379946670
Default principal: [email protected]
Valid starting Expires Service principal
09/18/2017 12:14:13 09/18/2017 22:14:13 krbtgt/[email protected]
renew until 09/25/2017 12:14:07
这里发生了什么?我认为这只是我从域控制器返回的东西。我可以在 Linux 机器上使用 sssd.conf 文件来控制它吗?我已经case_sensitive = false
在 sssd.conf 中了。