練習が必要です。LDAPだから私はテストのためにLDAPサーバーをインストールするのが良い考えだと思いました。
クライアントの場合は、LInux Mintディストリビューションを使用しており、以下で見つけたすべてのパッケージをインストールしました。このリンク。私たちの会社はActive Directoryサービスを提供していますが、私のユーザーは次のコマンドに必要な管理者権限を持っていないようです。
sudo realm join domain.tld -U domain_administrator --verbose
だから私はテストのためにLDAPサーバーをインストールしたいと思います。
私の目的に適したLDAPサーバーを知っている人はいますか?
ありがとうございます。
存在するこのリンクLinux MintにOpenLDAPサーバーとOpenLDAPクライアントをインストールする方法のチュートリアルを見つけました。
いつものように、OpenLDAPサーバーは次のようにインストールできますapt
。
sudo apt update
sudo apt -y install slapd ldap-utils
その後、サーバーを構成し、リンクいくつかの詳細が提供されます。明らかに、この記事は単なる紹介ですが、LDAPサーバーについて学び始めるのに十分です。
答え1
LDAPを介してActive Directoryを照会するには、通常のユーザーアカウント以外には何も必要ありません。 (一部のフィールドにはアクセスできませんが、ほとんどは比較的公開されています。)
authacct='[email protected]' # Authentication (your AD account)
ldapuri='ldap://ad.contoso.com' # Address of any AD server
searchbase='dc=contoso,dc=com' # Starting point for searches
what='frankfalse' # What text to search for
# LDAP query filter
filter="(&(objectclass=user)(|(cn=$what*)(userPrincipalName=$what*)(mail=$what*)(proxyAddresses=smtp:$what*)(sn=$what*)(sAMAccountName=$what*)(physicalDeliveryOfficeName=*$what*)(c=$what)))"
# Fields to return
fields=(sAMAccountName cn mail c targetAddress description title)
# Perform the search
ldapsearch -W -L -x -H "$ldapuri" -D "$authacct" -b "$searchbase" -s sub "$filter" "${fields[@]}"
権限のない一般的なアクセスでは、無効なユーザーアカウントとアクティブなユーザーアカウントを区別する方法はありません。適切な権限を持つアカウントがある場合は、それをフィルタに追加してアクティブなアカウントのみを選択(objectclass=user)
できるようになりました。
(!(userAccountControl:1.2.840.113556.1.4.803:=2))
文字列は$filter
単に$what
値を直接挿入します。$what
信頼できないユーザーの情報を盲目的に受け入れないでください。