我和我的網頁管理員正被一些 Windows 身份驗證怪異問題逼得不知所措——我們都有更多的 Linux 背景,所以我提前為我在以下內容中的無知表示歉意。
我們在 Windows Server 2008 R2 上配置了唯讀檔案共用以供匿名存取。我們的確是不是我們的網路上有一個 Windows 網域控制器,因此這些共用可供網路上的任何電腦使用。
我在此伺服器上有一個用於 RDP 登入的帳戶,並且該帳戶具有對該共用的寫入權限。
在其他伺服器上,我有相同的使用者名稱(本地配置,因為我們沒有網域控制器)。在嘗試從該伺服器連接到共享時,系統提示我提供登入名,即使該共享應該無需登入即可讀取。
更令人困惑的是,第二台伺服器上的另一個帳戶除了用戶名之外配置與我的完全相同能夠毫無問題地連結。
我的用戶帳戶和其他用戶帳戶之間的行為的實質性差異是,當我嘗試連接到共享時(從開始功能表中鍵入\\servername\
),在我的帳戶上,我在列表中看不到可用共享「自動完成” ,而在其他相同但名稱不同的帳戶上,它們會這樣做。當我手動鍵入共享的全名並嘗試連接時,會出現一個身份驗證對話框:輸入網路密碼(以連接到 [伺服器名稱]),密碼欄位下方列出本機的「網域」。
更讓我困惑和沮喪的是,我們在不同的伺服器上有兩個這樣的共享(稱它們為A 和B)——我在連接到B 而不是A 時遇到了問題。伺服器B 帳戶的讀取/對 B 共享的寫入存取權限(這樣就只剩下「每個人都讀」),我可以成功連接到 B,但隨後 A 停止工作。
編輯,更多資訊:
在使用共享配置時,有時會提示我們打開“網路發現”,但它似乎不僅僅對共享產生影響。我們不想將它們「公佈」給所有 Windows 用戶端系統,只是讓它們在需要時可以存取。畢竟,網路上的任何常規舊系統都可以在沒有任何憑證的情況下存取它,因此我認為這不會產生有利的(如果有的話)影響。
有人看過這樣的事情嗎?我能想到的最好的猜測是,如果我們有一個網域伺服器,這會簡單得多,並且這與在該伺服器自己的網域下的每個伺服器上具有相同名稱的使用者帳戶有關。我的同事擁有相同類型的帳戶,並且沒有此問題,因此我只能假設文件共享伺服器上缺少一些權限/安全配置。
答案1
以本機使用者身分執行時,Windows 將始終嘗試使用登入的使用者名稱和密碼對遠端共用進行身份驗證 - 因此,如果您的本機使用者名稱和本機密碼在系統中匹配,您將自動通過身分驗證。
在這種情況下,這似乎會導致問題,因為您的系統嘗試使用登入的使用者和密碼進行身份驗證,但出現憑證失敗。我不太清楚為什麼這會導致它無法返回到匿名登錄,但匹配的本地用戶名幾乎肯定是造成這種奇怪現象的原因。
是的,如果您使用 Active Directory,這種情況會簡單得多。