
我接手的前 IT 人員在 Fedora 伺服器上設定了 Samba 共享,該伺服器使用我們的 OpenLDAP 伺服器對想要從 Windows 登入的使用者進行身份驗證。
我們最近新增了一名新員工,我跳過了 LDAP 的步驟將他們新增到系統中。但是,我似乎無法使用他們的登入名稱來存取 Samba 共用。我正在查看 LDAP 設定和群組,並將新使用者帳戶與現有帳戶進行比較,但我無法弄清楚該使用者需要在 LDAP 中進行哪些設定才能存取 Samba 共用。
當然,這位前白痴 IT 人員沒有記錄任何事情,並且在網路上有各種奇怪的設定。所以我有點不知道在這裡要找什麼。
我該從哪裡開始?
在託管 Samba 共享的伺服器上,他顯然正在運行 samba,但也載入了 smbldap-tools。
答案1
您確定它使用 LDAP 進行身份驗證而不僅僅是授權嗎?如果您在 LDAP 中變更密碼,共用是否允許使用舊密碼或新密碼登入?這是一個需要回答的重要問題 - 如果您更改了密碼,但 Samba 伺服器似乎沒有識別到該密碼,則 Samba 伺服器可能正在使用本機設定的 Samba 使用者並檢查他們在 LDAP 中的群組成員身分。
答案2
pdbedit
在 Samba 控制器上是一個很好的起點。使用者是否出現在pdbedit -L
?您也可以用來net rpc users
執行類似的操作,但它是透過網路進行,而不是直接查詢密碼資料庫。
如果使用者沒有出現在輸出中,則表示必要的屬性不存在。我們不使用 smbldap-tools,因此我們可以只使用smbpasswd -a $username
或pdbedit -a $username
,但您的情況可能並非如此。
如果使用者確實出現在輸出中,那麼我將開始在堆疊的更高層查找。您可以以使用者身分登入嗎net -U $username rpc share
?
日誌檔案通常也很有用 - 我們的日誌檔案位於 /var/log/samba/ 中的電腦名稱和 IP 位址下。您可以使用smbcontrol smbd debug
開啟適當的調試部分,例如passdb
.
答案3
有一個適用於 Windows 的 LDAP GUI 工具,名為LDAP管理員。它以簡單的人類可讀格式呈現 LDAP 目錄中 samba 所需的資料。您也可以查看條目中的所有具體內容。
另外,您是否看過 smb.conf 中的 LDAP 設定內容?它將告訴您使用哪些 LDAP 屬性(如果是自訂的)。
答案4
如果您不熟悉 Openldap / Samba 網域控制器,請務必小心。如果你破壞了東西,你最終可能會沒有人能夠登入該網域。
一般來說,大多數人會使用 smbldap-tools ... ie /opt/IDEALX/...smbldap-useradd -m -a username ; smbldap-passwd 使用者名稱 ; smbpasswd 使用者名稱。
有很多工具可以向 samba/openldap 新增使用者。 「net」工具包含在 samba 套件中;它們是通用工具,其用途與 dos 中可用的 Windows 工具類似。