Samba

samba4 的 ldbsearch 抱怨基本搜尋的身份驗證

  • November 17, 2021

所以我理解綁定到任何類型的 LDAP 伺服器並執行經過身份驗證或匿名查詢的概念。

我的目標是dn=...dc=example,dc=com為特定使用者獲取完整資訊。

而且我知道我已經以不允許匿名查詢/綁定的方式將我的 samba4 設置為 AD 控制器。

令我驚訝的是,它ldbsearchldapsearch(OpenLDAP 的客戶端應用程序)的不同之處在於它不支持身份驗證?

所以我的基本查詢如下所示:

# ldbsearch -H ldap://127.0.0.1 -b "DC=example,DC=com" "(CN=usernameHere)"
search error - 00002020: Operation unavailable without authentication

現在這是在 AD 控制器上完成的,我相信您可以指出.db包含所有帳戶的文件,但我希望能夠通過smb://或遠端執行此操作ldap://

我也smb://只是為了它而嘗試過:

Unable to find backend for 'smb://127.0.0.1' - do you need to set LDB_MODULES_PATH?

此外,我嘗試使用 kerberos 票證,以查看是否ldbsearch可以將其拾取並將其用作身份驗證:

# kinit administrator@example.com
Password for administrator@example.com: 
Warning: Your password will expire in 26 days on Wed 06 Jul 2016 09:27:36 PM CEST

ldbsearch仍然給我完全相同的錯誤。

那麼,您如何在您的域上執行搜尋samba4呢?

我應該補充一點,以下命令有效:

# ldbsearch -H ldap://127.0.0.1 -s base -b "" defaultNamingContext

# record 1
dn: 
defaultNamingContext: DC=example,DC=com

# returned 1 records
# 1 entries
# 0 referrals

嘗試-U使用正確的使用者名和密碼添加選項:

ldbsearch -H ldap://127.0.0.1 -s sub -b 'DC=example,DC=com' -U Administrator%YourPassword

或者,要不在命令歷史記錄中留下密碼,請將該-A選項與包含使用者名和密碼的文件一起使用:

ldbsearch -H ldap://127.0.0.1 -s sub -b 'DC=example,DC=com' -A My_Auth_File

文件“My_Auth_File”將包含例如:

username=Administrator
password=My-Admin-password

不幸的是,man ldbsearch沒有顯示所有可能的選項。ldbsearch --usage顯示更多:

ldbsearch –用法

用法:

$$ -?viraSNPeV $$ $$ -?|–help $$ $$ –usage $$ $$ -H|–url=URL $$ $$ -b|–basedn=DN $$ $$ -e|–editor=PROGRAM $$ $$ -s|–scope=SCOPE $$ $$ -v|–verbose $$ $$ –trace $$ $$ -i|–interactive $$ $$ -r|–recursive $$ $$ –modules-path=PATH $$ $$ –num-searches=INT $$ $$ –num-records=INT $$ $$ -a|–all $$ $$ –nosync $$ $$ -S|–sorted $$ $$ -o=OPTION $$ $$ –controls=STRING $$ $$ –show-binary $$ $$ –paged $$ $$ –show-deleted $$ $$ –show-recycled $$ $$ –show-deactivated-link $$ $$ –reveal $$ $$ –relax $$ $$ –cross-ncs $$ $$ –extended-dn $$ $$ -d|–debuglevel=DEBUGLEVEL $$ $$ –debug-stderr $$ $$ -s|–configfile=CONFIGFILE $$ $$ –option=name=value $$ $$ -l|–log-basename=LOGFILEBASE $$ $$ –leak-report $$ $$ –leak-report-full $$ $$ -U|–user=[DOMAIN/ $$使用者名$$ %PASSWORD $$]$$ -N|–no-pass $$ $$ –password=STRING $$ $$ -A|–authentication-file=FILE $$ $$ -P|–machine-pass $$ $$ –simple-bind-dn=STRING $$ $$ -k|–kerberos=STRING $$ $$ –krb5-ccache=STRING $$ $$ -S|–sign $$ $$ -e|–encrypt $$ $$ -R|–name-resolve=NAME-RESOLVE-ORDER $$ $$ -O|–socket-options=SOCKETOPTIONS $$

ldbsearch --help通過簡短的描述以更易讀的方式顯示它們。

(這是 Debian 10.11 上的 Samba 4.9.5)

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