目標:將 Solaris 10 電腦加入現有的 Active Directory。
我所做的步驟:
- 安裝的軟體(Samba 3.4.2,來自http://www.sunfreeware.com)
- 收到 Kerberos 票證
kinit [email protected]
- 加入網域:
net ads join -U admin-user
- 啟動 Samba 和 winbind
klist
所有步驟都正常,用、net getdomainsid
、wbinfo -g
和進行檢查wbinfo -u
。
現在的問題是:getent passwd EXAMPLE+username
完全不回傳任何內容(在另一台 Solaris 10 電腦上這可以運作)。每次我向 AD 請求某些內容時,都會顯示在 log.winbind 中:
[2010/09/07 10:51:41, 0] winbindd/winbindd.c:750(request_len_recv)
request_len_recv: Invalid request size received: 2088 (expected 2096)
根據谷歌的說法,我應該確保運行的 libnss_winbind.so 版本與正在運行的 winbind 版本匹配。
但我該怎麼做呢?
答案1
Solaris 10 附帶了 samba 的工作版本(如果不是最新的),但這些程式庫與 sunfreeware 產品不相容。
nss_winbind.so
您看到的問題是由於 sunfreeware 產品的軟體包中沒有庫並且/usr/lib/nss_winbind.so
不相容造成的。
要解決此問題,您必須創建自己的。下載桑巴源碼從 sunfreeware 並將其解壓縮到一個方便的目錄,然後 cd 到它(目前為 samba-3.4.2)
cd source3
./configure
make nss_modules
這將產生一個
../nsswitch/libnss_winbind.so
在我的測試系統上將此文件複製到
/usr/local/samba/lib/nss_winbind.so.1
解決了問題。
答案2
可能 pam_winbind.so 是錯誤的版本。看這個連結: http://www.mentby.com/adrian-graham/samba-334-31-sshwinbind-login-failure.html 解決你的問題。 winbind.so