因此,我了解绑定到任何类型的 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 [email protected]
Password for [email protected]:
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
答案1
尝试-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] [--扩展-dn] [-d|--debuglevel=DEBUGLEVEL] [--debug-stderr] [-s|--configfile=CONFIGFILE] [--option=name=value] [-l|- -log-basename=LOGFILEBASE] [--leak-report] [--leak-report-full] [-U|--user=[DOMAIN/]USERNAME[%PASSWORD]] [-N|--no-pass ] [--password=STRING] [-A|--authentication-file=FILE] [-P|--machine-pass] [--simple-bind-dn=STRING] [-k|--kerberos=STRING ] [--krb5-ccache=字符串] [-S|--sign] [-e|--加密] [-R|--name-resolve=NAME-RESOLVE-ORDER] [-O|--socket-选项=SOCKETOPTIONS]
并ldbsearch --help
通过简短的描述以更易读的方式显示它们。
(这是 Debian 10.11 上的 Samba 4.9.5)