samba4 的 ldbsearch 抱怨基本搜尋的身份驗證
所以我理解綁定到任何類型的 LDAP 伺服器並執行經過身份驗證或匿名查詢的概念。
我的目標是
dn=...dc=example,dc=com
為特定使用者獲取完整資訊。而且我知道我已經以不允許匿名查詢/綁定的方式將我的 samba4 設置為 AD 控制器。
令我驚訝的是,它
ldbsearch
與ldapsearch
(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)