Linux

掛載 Windows 共享失敗並顯示 STATUS_TRUSTED_RELATIONSHIP_FAILURE

  • February 21, 2021

我定期在 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”的文件並不完全有幫助。

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

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

不幸的是,在我更改為 sssd 之前,這是不可能的。

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

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

不需要更改 smb.conf。

看起來像一個身份驗證問題,試試這個:

  1. 密切關注 Windows 伺服器上的日誌文件以擷取任何相關錯誤
  2. 確保您在 Linux 上使用的帳戶有權訪問此共享,本地帳戶與域帳戶
  3. 如果您的防火牆允許,請嘗試將您的 Linux 基本 ping 到 Windows
  4. 從另一台 Linux 機器嘗試
  5. 你為什麼說“幾乎所有”可能有一些共同點是阻止你的 Linux 和其他沒有連接的機器

我希望這有幫助

引用自:https://serverfault.com/questions/1031584