4장. 속성 고유성 강제
특성 값이 전체 디렉터리 또는 하위 트리에서 고유하도록 하려면 기본적으로 비활성화된 특성 고유성 플러그인을 사용할 수 있습니다.
다음 방법 중 하나로 속성 고유성을 확인하도록 플러그인을 구성할 수 있습니다.
uniqueness-subtrees매개변수를 사용하여 플러그인에서 특성 고유성을 확인해야 하는 하위 트리 목록을 설정합니다. 예를 들면 다음과 같습니다.uniqueness-attribute-name: mail uniqueness-subtrees: ou=accounting,dc=example,dc=com uniqueness-subtrees: ou=sales,dc=example,dc=com uniqueness-across-all-subtrees: on uniqueness-exclude-subtrees: ou=private,ou=people,dc=example,dc=com
uniqueness-attribute-name: mail uniqueness-subtrees: ou=accounting,dc=example,dc=com uniqueness-subtrees: ou=sales,dc=example,dc=com uniqueness-across-all-subtrees: on uniqueness-exclude-subtrees: ou=private,ou=people,dc=example,dc=comCopy to Clipboard Copied! Toggle word wrap Toggle overflow 자세한 내용은 하위 트리를 통해 속성 고유 플러그인 구성을 참조하십시오.
uniqueness-top-entry-oc매개 변수를 사용하여 상위 항목 오브젝트 클래스를 설정합니다. 업데이트된 항목의 상위 항목에 이 오브젝트 클래스가 포함된 경우 플러그인은 상위 항목 하위 트리에서 특성의 고유성을 확인합니다. 예를 들어 다음과 같은 방법으로 플러그인을 구성할 수 있습니다.uniqueness-attribute-name: mail uniqueness-top-entry-oc: nsContainer uniqueness-subtree-entries-oc: inetOrgPerson uniqueness-exclude-subtrees: ou=private,ou=people,dc=example,dc=com
uniqueness-attribute-name: mail uniqueness-top-entry-oc: nsContainer uniqueness-subtree-entries-oc: inetOrgPerson uniqueness-exclude-subtrees: ou=private,ou=people,dc=example,dc=comCopy to Clipboard Copied! Toggle word wrap Toggle overflow 자세한 내용은 오브젝트 클래스를 통한 속성 고유 플러그인 구성 을 참조하십시오.
플러그인의 여러 구성 항목을 생성하여 다른 조건을 적용할 수 있습니다. Directory Server는 플러그인의 모든 구성 항목을 cn=plugins,cn=config 아래에 저장합니다.
4.1. 명령줄을 사용하여 하위 트리를 통해 속성 고유성 플러그인 구성 링크 복사링크가 클립보드에 복사되었습니다!
dsconf 유틸리티를 사용하여 플러그인에서 특성 고유성을 확인해야 하는 하위 트리 목록을 설정할 수 있습니다. 하위 트리는 접미사를 포함하여 디렉터리의 모든 항목이 될 수 있습니다.
다음 예제 절차를 사용하여 ou=sales,dc=example,dc=com 및 ou=accounting,dc=example,dc=com 하위 트리 아래에 있는 항목의 mail 속성의 고유성을 확인하도록 플러그인을 구성합니다.
사전 요구 사항
- 디렉터리 관리자 권한이 있습니다.
절차
새 플러그인 구성 항목을 생성합니다.
dsconf -D "cn=Directory Manager" ldap://server.example.com plugin attr-uniq add "Mail Uniqueness" --attr-name mail --subtree ou=sales,dc=example,dc=com ou=accounting,dc=example,dc=com
# dsconf -D "cn=Directory Manager" ldap://server.example.com plugin attr-uniq add "Mail Uniqueness" --attr-name mail --subtree ou=sales,dc=example,dc=com ou=accounting,dc=example,dc=comCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령은
cn=Uniqueness,cn=plugins,cn=config구성 항목을 생성합니다.참고플러그인을 설정하여 하나의 구성 항목에서 여러 속성의 고유성을 확인할 수 있습니다.
선택 사항: 이 플러그인 구성 항목에 구성된 모든 하위 트리에서 고유성을 구성합니다.
dsconf -D "cn=Directory Manager" ldap://server.example.com plugin attr-uniq set "Mail Uniqueness" --across-all-subtrees on
# dsconf -D "cn=Directory Manager" ldap://server.example.com plugin attr-uniq set "Mail Uniqueness" --across-all-subtrees onCopy to Clipboard Copied! Toggle word wrap Toggle overflow 명령은
uniqueness-across-all-subtrees구성 매개변수를on의 로 설정합니다. 따라서 플러그인은ou=sales,dc=example,dc=com및ou=accounting,dc=example,dc=com하위 트리 모두에서mail속성의 고유성을 확인합니다. 기본적으로 플러그인은 항목이 생성되거나 업데이트된 하위 트리의 고유성만 확인합니다. 즉,ou=sales,dc=example,dc=com에서 항목을 생성하거나 업데이트하는 경우 플러그인은 이 하위 트리에서만메일특성 고유성을 확인합니다.선택 사항: 플러그인이 특성 고유성 확인에서 제외해야 하는 하위 트리를 설정합니다.
예를 들어 플러그인이
ou=internal,ou=sales,dc=example,dc=com하위 트리를 건너뛰려면ldapmodify유틸리티를 사용하여uniqueness-exclude-subtrees매개변수를 설정할 수 있습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 선택 사항: 플러그인에서 특정 오브젝트 클래스가 포함된 항목에서만 고유성을 확인하기 위해 이 오브젝트 클래스를
uniqueness-subtree-entries-oc매개변수 값으로 설정합니다.예를 들어
inetOrgPerson오브젝트 클래스가 포함된 항목에서만mail속성을 고유하게 하려면 다음을 입력합니다.dsconf -D "cn=Directory Manager" ldap://server.example.com plugin attr-uniq set "Mail Uniqueness" --subtree-entries-oc=inetOrgPerson
# dsconf -D "cn=Directory Manager" ldap://server.example.com plugin attr-uniq set "Mail Uniqueness" --subtree-entries-oc=inetOrgPersonCopy to Clipboard Copied! Toggle word wrap Toggle overflow 서버에서 플러그인을 활성화합니다.
dsconf -D "cn=Directory Manager" ldap://server.example.com plugin attr-uniq enable "Mail Uniqueness"
# dsconf -D "cn=Directory Manager" ldap://server.example.com plugin attr-uniq enable "Mail Uniqueness"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 인스턴스를 다시 시작합니다.
dsctl instance_name restart
# dsctl instance_name restartCopy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
구성 항목 세부 정보를 표시합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow