載入 Windows 共用失敗,並顯示 STATUS_TRUSTED_RELATIONSHIP_FAILURE

載入 Windows 共用失敗,並顯示 STATUS_TRUSTED_RELATIONSHIP_FAILURE

我定期在 Linux 電腦 (OpenSUSE Tumbleweed) 上安裝 Windows 2012R2 伺服器的共用磁碟機。自上週四以來,當在 Windows 伺服器上安裝更新時,安裝失敗並顯示錯誤訊息

Aug 26 11:45:27 <linux server> kernel: CIFS: Attempting to mount //<windows server>/<share>
Aug 26 11:45:27 <linux server> kernel: CIFS: Status code returned 0xc000018d STATUS_TRUSTED_RELATIONSHIP_FAILURE
Aug 26 11:45:27 <linux server> kernel: CIFS: VFS: \\a-store Send error in SessSetup = -5
Aug 26 11:45:27 <linux server> kernel: CIFS: VFS: cifs_mount failed w/return code = -2

我嘗試了不同的安裝選項(vers=2.0、2.1、3.0、sec=ntlm、ntlmssp)和不同的使用者 - 所有這些都有相同的結果。 Linux 伺服器可以掛載其他伺服器的共享,並且 Windows 伺服器上的共享可以從(幾乎所有)其他電腦存取。我嘗試在兩台機器上再次加入該網域,但沒有效果。

目前我認為 Windows 伺服器上的更新之一是導致該問題的原因。我們還有其他伺服器在 2012R2 上運行,它們仍然運行良好,並且也在周四獲得了更新。唯一的區別是作業系統的語言(德語/英語)。

有沒有辦法獲得有關該問題的更多資訊?有關「STATUS_TRUSTED_RELATIONSHIP_FAILURE」的文件並不完全有幫助。

答案1

看起來像是身份驗證問題,請嘗試以下操作:

  1. 密切注意 Windows 伺服器上的日誌檔案以捕獲任何相關錯誤
  2. 確保您在 Linux 上使用的帳戶有權存取此共用、本機帳戶或網域帳戶
  3. 如果您的防火牆允許,請嘗試對 Linux 進行基本 ping 操作
  4. 從另一台 Linux 機器上嘗試
  5. 為什麼你說「幾乎所有」也許有一些共同點阻止你的Linux和其他沒有連接的機器

我希望這有幫助

答案2

問題似乎是我無法使用 Kerberos 身份驗證。我從 winbind 更改為 sssd 以加入 Windows 網域,並使用 sec=krb5 作為 mount.cifs 命令的選項:

mount.cifs //server.tld/share /path/to/mount/point -o vers=3.0,sec=krb5

不幸的是,在我換成sssd之前這是不可能的。

[編輯2021-02-21]

之前用的是winbind,改成sssd加入域。我不記得我所做的所有更改,但從 /etc 中的配置來看,我做了以下操作

  • 在 /etc/sssd/sssd.conf 中新增 sssd 配置
  • kinit使用和加入網域net ads join

無需更改 smb.conf。

相關內容