Samba

Samba - 僅使用 LDAP 進行身份驗證?

  • August 21, 2017

我正在嘗試設置 Samba 伺服器以使用 LDAP 伺服器進行身份驗證,但從 SSSD、PAM 等中提取所有帳戶資訊(使用者 ID 等)。基本上,伺服器應該充當獨立伺服器,除了使用者名並且將根據 LDAP 檢查密碼。

LDAP 伺服器只提供posixAccount和對InetOrgPerson像類,不受我控制;我無法改變它。

Internet 上有很多關於使 Samba 與 LDAP 一起工作的資訊,但總是涉及修改 LDAP 模式。在我們的情況下,這不是一個選擇。也沒有必要,因為我只想根據使用者名和密碼對使用者進行身份驗證。

順便說一句,我知道 Samba 不允許使用匿名綁定進行身份驗證(因為密碼是散列傳輸的)。據我所知,這是通過提供 LDAP 管理員 DN 解決的單獨問題。

系統已設置為通過 SSSD 向同一 LDAP 伺服器驗證本地登錄、SSH 等。這很有效,並且經過了很好的測試。

軟體:RedHat 7.3,Samba 4.4.4,LDAP 伺服器是 Oracle LDAP(可能基於 OpenLDAP,但不在我的控制範圍內)。

我正在尋找有關如何完成此操作的說明。

答案似乎是無法做到的,至少在不關閉密碼散列並嚴重損害安全性的情況下是無法做到的。

問題與最初導致創建 smbpasswd 文件和實用程序的問題基本相同:Samba 伺服器永遠不會看到明文密碼。密碼始終是散列的。雜湊算法多年來發生了變化。儲存在普通 LDAP 模式中的密碼也經過雜湊處理,但使用了不同的算法。

解決此問題的唯一方法是修改 LDAP 模式(正如許多站點所建議的那樣)、使用 smbpasswd 或使用 Kerberos 進行身份驗證。

引用自:https://unix.stackexchange.com/questions/378902