LDAP를 사용하도록 애플리케이션을 활성화합니다.
애플리케이션 구성에서 LDAP에 연결하기 위한 URL을 알려줘야 합니다. 현재 다음 URL을 제공하고 있습니다...
ldap://10.2.0.5:389/dc=domain,dc=abc,dc=de?uid
질문:이 그룹에 속한 사용자에게만 애플리케이션 액세스를 제한하려면 "accessgroup" 그룹에 속한 사용자만 찾을 수 있도록 위의 URL에 필터를 추가해야 합니다.
즉, 이것과 비슷한 것...
curl "ldap://10.2.0.5:389/dc=domain,dc=abc,dc=de?uid?sub?(&(memberof=cn=accessgroup,ou=groups,dc=domain,dc=abc,dc=de)(uid=%s))"
수백 가지 설정을 시도했지만 아무것도 작동하지 않습니다... =|
그룹
cn:
accessgroup
gidNumber:
1004
memberUid:
usera
userb
userc
userd
usere
userf
userg
userh
useri
objectClass:
top
posixGroup
사용자
cn:
User Letter A
gecos:
User Letter A
gender:
M
gidNumber:
544
givenName:
User
gotoLastSystemLogin:
01.01.1970 00:00:00
homeDirectory:
/home/usera
loginShell:
/bin/bash
mail:
[email protected]
objectClass:
top
person
organizationalPerson
inetOrgPerson
gosaAccount
posixAccount
shadowAccount
sambaSamAccount
[...]
uid:
usera
uidNumber:
1004
[...]
감사해요! =D
답변1
LDAP 서버의 memberOf 속성은 어떻게 생성됩니까? 사용자에게 실제로 memberOf 속성이 있는지 확인하셨나요?
예를 들어 OpenLDAP에서 memberOf는 오버레이 멤버를 사용하거나 동적 목록으로 관리하는 경우에만 채워집니다.
답변2
상황:
문제는 POSIX 그룹을 사용하여 필터링하려고 하는데 이에 대한 특정 오버레이가 없다는 것입니다. 존재하는 것은 여기에서 관찰할 수 있는 다소 복잡하고 힘든 해결 방법입니다.POSIX그룹에 대한 MEMBEROF 속성 생성.
해결책:
이 문제를 해결하기 위해 우리는 여기에서 볼 수 있는 간단한 솔루션을 구현했습니다.
psx-grp-flt - pgMemberOf(memberOf)에 대한 사용자의 posixGroup 멤버십
... 기본적으로는 다음과 같습니다...
각 사용자의 posixGroup(POSIX 그룹) 연결을 pgMemberOf(memberOf) 속성에 저장하는 간단한 Python 2.7 스크립트입니다. 목적은 아래와 같은 검색 필터를 활성화하는 것입니다.
모델
ldapsearch -x -H 'ldap://127.0.0.1:389' -b 'ou=persons,dc=도메인,dc=abc,dc=de'
-D 'cn=admin,dc=도메인,dc=abc, dc=de'
-w 'mySecretValue'
'(&(pgMemberOf=cn=certaingroup,ou=groups,dc=domain,dc=abc,dc=de)(uid=certainuid))'예
ldapsearch -x -H '<OPENLDAP_URI>' -b '<PERSONS_OU>,<BASE_DN>'
-D '<ADM_USER_DN>'
-w '<ADM_USER_PASSWORD>'
'(&(pgMemberOf=cn=<PSX_GROUP_CN>,<GROUPS_OU> ,<BASE_DN)(uid=<PERSON_UID>))'이 스크립트는 이미 OpenLDAP가 설치되어 있고 새로운 유형의 그룹을 생성하지 않고도 매우 간단한 방법으로 이미 존재하는 POSIX 그룹에 대해 필터를 사용할 수 있도록 하려는 경우에 유용합니다. 오버레이를 설치할 수 없거나 이 프로세스가 너무 힘들거나 위험한 경우에도 유용합니다.
감사해요! =D