연습이 필요해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
신뢰할 수 없는 사용자의 정보를 맹목적으로 받아들이지 마십시오 .