我在使用 Samba 4 和 Kerberos 时遇到了问题。如果我调用kinit
,它会写入获取初始凭证时未在 Kerberos 数据库中找到客户端我发现,Kerberos 仅适用于用户名,但系统使用域名和反斜杠作为前缀来识别所有域用户,而 Kerberos 不喜欢这样。
$ ssh user@machine #I don't need the domain name while logging in
DOMAIN\user@machine$ kinit
# does not work
DOMAIN\user@machine$ kinit DOMAIN\user
# does work neither
DOMAIN\user@machine$ kinit user
# works
DOMAIN\user@machine$ id
uid=2010(DOMAIN\user) gid=100(users) skupiny=100(users)
DOMAIN\user@machine$ getent passwd
# all domain users prefixed with 'DOMAIN\'
这同样适用于打印的文件列表ls -l
:
-rw-r--r-- 1 DOMAIN\user users 3392 pro 19 14:46 filename
但当我看到桑巴维基,他们的用户名都是打印出来的,command getent passwd
没有域名。
getent passwd
...
Administrator:x:0:100::/home/MATWS/Administrator:/bin/bash
我认为这可能会导致kinit
无法正常工作,并且用户登录后没有票证。但我不知道如何摆脱域名前缀,哪里出了问题,或者我的配置中缺少什么。