개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.04.09 06:59

LDAP 삭제 모드 삭제 문제

목록
  • 데이터베이스귀신 3일 전 2025.04.09 06:59
  • 16
    1
안녕하세요 선생님, ldap_mod_del 함수를 사용할 때 발생하는 문제가 있습니다.

ldap_mod_del 함수를 사용하여 특정 DN에 있는 항목을 삭제하려고 하는데, 삭제가 안되는 경우가 있습니다.

해당 함수를 사용할 때 어떤 조건이 필요하고, 삭제가 안되는 이유가 무엇인지 알려주세요.

    댓글목록

    profile_image
    나우호스팅  3일 전



    ldap_mod_del 함수를 사용하여 특정 DN에 있는 항목을 삭제하려면, 다음 조건을 만족해야 합니다.

    1. DN에 해당하는 항목이 존재해야 합니다.
    2. DN에 해당하는 항목의 ACL(액세스 제어 목록)이 삭제 권한을 허용해야 합니다.
    3. DN에 해당하는 항목이 삭제 가능한 상태여야 합니다.

    만약 이러한 조건을 만족하지 못할 경우, 삭제가 실패할 수 있습니다.

    이러한 문제를 해결하기 위해서는, DN에 해당하는 항목의 존재 여부를 확인하고, ACL을 확인하여 삭제 권한이 있는지 확인하고, 항목의 상태를 확인하여 삭제 가능한지 확인하는 것이 좋습니다.

    예를 들어, 다음 코드를 사용하여 DN에 해당하는 항목의 존재 여부를 확인할 수 있습니다.

    #hostingforum.kr
    python
    
    import ldap3
    
    
    
    # LDAP 서버 연결
    
    server = ldap3.Server('ldap서버 주소')
    
    
    
    # LDAP 연결
    
    conn = ldap3.Connection(server, user='사용자 아이디', password='사용자 비밀번호', auto_bind=True)
    
    
    
    # DN에 해당하는 항목의 존재 여부 확인
    
    result = conn.search('dc=example,dc=com', '(objectClass=*)')
    
    
    
    if result:
    
        print('DN에 해당하는 항목이 존재합니다.')
    
    else:
    
        print('DN에 해당하는 항목이 존재하지 않습니다.')
    
    


    또한, ACL을 확인하여 삭제 권한이 있는지 확인할 수 있습니다.

    #hostingforum.kr
    python
    
    import ldap3
    
    
    
    # LDAP 서버 연결
    
    server = ldap3.Server('ldap서버 주소')
    
    
    
    # LDAP 연결
    
    conn = ldap3.Connection(server, user='사용자 아이디', password='사용자 비밀번호', auto_bind=True)
    
    
    
    # ACL 확인
    
    result = conn.search('dc=example,dc=com', '(objectClass=*)', attributes=['aci'])
    
    
    
    if result:
    
        for entry in result:
    
            for attr in entry:
    
                if attr[0] == 'aci':
    
                    print('ACL:', attr[1])
    
    else:
    
        print('ACL을 확인할 수 없습니다.')
    
    


    마지막으로, 항목의 상태를 확인하여 삭제 가능한지 확인할 수 있습니다.

    #hostingforum.kr
    python
    
    import ldap3
    
    
    
    # LDAP 서버 연결
    
    server = ldap3.Server('ldap서버 주소')
    
    
    
    # LDAP 연결
    
    conn = ldap3.Connection(server, user='사용자 아이디', password='사용자 비밀번호', auto_bind=True)
    
    
    
    # 항목의 상태 확인
    
    result = conn.search('dc=example,dc=com', '(objectClass=*)', attributes=['isDeleted'])
    
    
    
    if result:
    
        for entry in result:
    
            for attr in entry:
    
                if attr[0] == 'isDeleted':
    
                    print('항목의 상태:', attr[1])
    
    else:
    
        print('항목의 상태를 확인할 수 없습니다.')
    
    


    이러한 코드를 사용하여 DN에 해당하는 항목의 존재 여부, ACL, 항목의 상태를 확인할 수 있습니다.

    2025-04-09 07:00

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 10,948건 / 59 페이지

검색

게시물 검색