Windows-Server-2008

CentOS 6 無法解析一個 AD 帳號

  • May 7, 2013

我有一個問題讓我繞圈子。

我們有 14 台使用 Samba/Winbind 和 idmap_ad(安全 = 廣告,idmap 後端 = 廣告)的 Centos 6 AD 集成伺服器,此設置在其中 13 台伺服器中執行良好。

問題

問題在於一台伺服器和一個使用者。從問題框中,您根本無法解決某個特定使用者。此使用者從所有其他伺服器解析。

嘗試在問題伺服器上解決時的結果:

# id username
id: username: No such user

# wbinfo -i username
Could not get info for user username

嘗試在良好伺服器上解析時的結果:

# id username
uid=12830(username) gid=100(users) groups=100(users)

# wbinfo -i username
username:*:12830:100:User Name:/home/username:/bin/bash

嘗試的解決方案

我已經停止了 winbind 和 smb 並清除了 winbind 記憶體 (winbindd_cache.tdb & winbindd_cidmap.tdb) 再次啟動它們 - 不開心

我已經用 -n 開始 winbind 來執行直接查找 - 不高興

不幸的是,這是一個生產伺服器,所以我不能太激烈,我無法在任何其他伺服器上複製問題,包括我使用相同配置建構的測試伺服器。

經過上述測試,我相當確信它不是 winbind,但我不知道為什麼使用者不會解決。

我可以執行wbinfo -n並獲取使用者 SID,然後執行net cache list |grep thesid並查看:

密鑰:IDMAP/SID2UID/S-1-5-21-746745685-249376194-4547331-1137 超時:2013 年 4 月 2 日星期二 17:30:32 值:1283 0 密鑰:IDMAP/UID2SID/12830 超時:4 月 2 日星期二 17: 2013 年 30:32 值:S-1-5-21-746745685-249376194-4547331 -1137

這顯示了正確的 UID (12930),因此伺服器可以在 AD 中找到他並提取他的 Unix 屬性。

我可以執行net lookup sid S-1-etc並成功返回DOMAIN\username

然後我嘗試net cache flush重新啟動 smb 和 winbind,這也沒有解決它。

我仍然無法id訪問使用者wbinfo -i,因此使用者無法登錄或訪問 samba 共享,因為伺服器無法解析它們。

令人憤怒的是,所有其他使用者都在工作,包括新創建的使用者!

任何人都可以幫忙嗎?我被困住了!

基本細節如下:

  • 域控制器 = 執行在 2003 FFL 和 DFL 和 MSSFU 的伺服器 2008R2
  • Linux 伺服器 = CentOS 6.1 Samba 版本 = 3.5.10-125.el6
  • Winbind 版本 = 3.5.10-125.el6

該伺服器與該站點上的其他伺服器執行相同的配置,並且執行良好,所以我知道它們不是問題。就好像伺服器根本不喜歡使用者 SID 或類似的東西,並且不會通過標準方法查找他。

如果您需要更多資訊,請告訴我。

謝謝

現在解決了,這對我有用:

清除所有Winbind記憶體並刷新網路記憶體,記得在刪除任何東西之前進行備份!

停止 Winbind 和 Samba 服務:

service winbind stop
service smb stop

清除 Samba 網路記憶體:

net cache flush

刪除 Winbind 記憶體:

rm –f /var/lib/samba/*.tdb
rm –f /var/lib/samba/group_mapping.ldb

啟動 Samba,然後啟動 Winbind 服務 - 注意:順序很重要

service smb start
service winbind start

通過嘗試解析使用者來測試它。

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