使用 Kerberos 挂载 SMB

使用 Kerberos 挂载 SMB

我已经使用 Fedora 33 设置了服务器并将其加入到 Active Directory。此操作成功,用户可以使用其 Active Directory 用户名对自己进行身份验证。我还可以在 Active Directory 中的“计算机”下看到我的 Linux 计算机。

现在我想挂载 SMB 共享。但是,我无法这样做,我也不知道为什么。

我使用 AD 用户名和密码登录服务器,效果很好。我还可以列出我的 Kerberos 票证:

$ klist
Ticket cache: KCM:1089742435:31950
Default principal: username@DOMAIN

Valid starting       Expires              Service principal
02/10/2021 11:14:34  02/10/2021 21:14:34  krbtgt/DOMAIN@DOMAIN
    renew until 02/11/2021 11:14:34

到目前为止,我认为这看起来不错。然后,我尝试列出 SMB 共享:

smbclient -L //server/share -m SMB3 -k

但是,尽管我应该可以使用 Kerberos 票证进行访问,但这还是失败了。显示的错误是:

gensec_spnego_client_negTokenInit_step: gse_krb5: creating NEG_TOKEN_INIT for cifs/nas-iap.unibe.ch failed (next[(null)]): NT_STATUS_INVALID_PARAMETER
session setup failed: NT_STATUS_INVALID_PARAMETER

我不明白这个错误。如果我尝试不使用该-k参数,则用户名是正确的,我可以输入我的 AD 密码并查看所有共享:

$ smbclient -L //server/share -m SMB3
Enter username@DOMAIN's password: 

    Sharename       Type      Comment
    ---------       ----      -------
    (fancy list of all shares available)
SMB1 disabled -- no workgroup available

但有趣的是,kinit -k由于我不明白的原因,它失败了:

$ kinit -k
kinit: Client 'host/computername@DOMAIN' not found in Kerberos database while getting initial credentials

我的第一步应该是能够挂载 SMB 共享。稍后我想将它们添加到fstabwithmultiuser选项中。

相关内容