현재 명령줄을 통해 openldap을 실행하고 있습니다. 사용자 John을 추가하고 devgroup 그룹을 추가하고 John을 devgroup 그룹에 할당했습니다. 명령줄을 통해 사용자(John)를 삭제하는 경우
ldapdelete -Y EXTERNAL -H ldapi:/// -D "cn=admin,dc=example,dc=local"
"uid=john,dc=example,dc=local"
사용자가 사라졌지만 더 이상 이전에 할당된 그룹(devgroup)의 구성원이 아닙니다.
사용자와 그룹에 할당된 사용자가 연결되지 않은 것으로 확인되었습니다. 기본적으로 존재하지 않는 그룹에 사용자를 추가할 수 있습니다. 이 두 사용자를 연결할 수 있는 방법이 있나요?
감사해요!
답변1
나는 이 명령을 사용하여 OU의 모든 항목이 아닌 사용자를 삭제한다고 생각합니다. 내가 이해한 바로는 LDAP는 생각하는 대로 다른 개체에 대한 링크를 유지하지 않고 먼저 개체 목록을 생성한 다음 ldapsearch
해당 개체를 사용하거나 작동해야 합니다.ldapdelete
ldapmodify
우리는 일반적으로 결과를 먼저 ldapsearch
파일 에 쓴 .ldif
다음 ldapmodify
이를 사용하거나 작업합니다 ldapdelete
. 그러나 U&L Q&A라는 제목의 이 예에 표시된 대로 ldapsearch
출력을 구문 분석하고 파이프 할 수 있습니다.ldapmodify
ldapdelete, people OU의 모든 UID를 삭제하고 OU를 유지하고 싶습니까?.
$ ldapsearch -ZZ -W -D 'cn=Manager,dc=site,dc=fake' \
-b 'ou=people,dc=site,dc=fake' -s one dn | \
grep dn: | cut -b 5- | ldapdelete -ZZ -W -D 'cn=Manager,dc=site,dc=fake'
나는 이와 같은 작업을 수행하고 사용자가 속한 모든 그룹을 찾아 memberUid
해당 목록을 전달한 ldapmodify
다음 ldapdelete
모든 그룹에서 제거한 후 명령을 실행해야 한다고 생각합니다.
그런데, 그룹에서 사용자를 제거하려면:
dn: cn=Manager,dc=site,dc=fake
changetype: modify
delete: memberuid
memberuid: john
.ldif
파일 과 관련하여 이 페이지의 예제 제목은 다음과 같습니다.LDAP(Lightweight Directory Access Protocol)를 사용하여 사용자 관리그들은 훌륭해. .ldif
여러 개체에 걸쳐 작업을 수행하도록 확장할 수 있는 조각을 사용하여 모든 기본 작업을 수행하는 방법을 보여줍니다 .
답변2
그룹 항목과 해당 구성원 항목은 여러분이 알고 있는 것과 같습니다. 즉, 하드 링크 없이 별도의 항목입니다.
두 가지 옵션이 있습니다:
- 구성원 항목을 삭제하고 속성에서 해당 DN을 제거하는 자체 스크립트를 구현합니다.회원그룹 항목에서.
- OpenLDAP를 사용하여 재정의슬래브 리노베이션사용하려면슬래더구성원 항목을 삭제하는 경우 그룹 항목에서 구성원 참조를 제거하십시오.