6장. 플러그인 시작 업데이트의 바인딩 DN 추적

Directory Server에서는 플러그인이 항목을 업데이트한 작업을 수행한 사용자를 추적할 수 있습니다. 추적이 활성화되고 플러그인이 사용자가 수행한 작업의 결과로서 항목을 변경하는 경우 업데이트된 항목의 수정자 이름에 사용자 이름을 볼 수 있습니다.

6.1. 플러그인에서 수행하는 항목 수정에 대한 사용자 정보 추적

사용자가 항목을 변경하는 작업을 수행하면 디렉터리 트리에서 다른 자동 변경 사항을 트리거할 수 있습니다. 기본적으로 Directory Server는 데이터 수정을 시작한 작업을 수행한 사용자의 이름을 추적하지 않습니다. 사용자 정보를 추적하려면 nsslapd-plugin-binddn-tracking 매개변수를 사용할 수 있습니다.

예를 들어 관리자가 사용자를 삭제하면 Referential Integrity Postoperation 플러그인이 모든 그룹에서 사용자를 자동으로 제거합니다. 서버에 바인딩된 사용자 계정에서 수행하는 것으로 항목의 초기 작업을 확인할 수 있습니다. 그러나 모든 관련 업데이트는 기본적으로 플러그인에서 수행하는 것으로 표시되고 어떤 사용자가 업데이트를 시작한지에 대한 정보가 없습니다.

두 번째 예는 MemberOf 플러그인을 사용하여 그룹 멤버십으로 사용자 항목을 업데이트하는 것일 수 있습니다. 그룹 계정에 대한 업데이트는 바인딩된 사용자가 수행하는 것으로 표시되고, 사용자 항목에 대한 편집은 MemberOf 플러그인에서 수행하는 것으로 표시됩니다.

dn: cn=example_group,ou=groups,dc=example,dc=com
modifiersname: uid=example,ou=people,dc=example,dc=com

dn: uid=example,ou=people,dc=example,dc=com
modifiersname: cn=MemberOf Plugin,cn=plugins,cn=config

nsslapd-plugin-binddn-tracking 매개변수를 사용하면 서버에서 어떤 사용자가 업데이트 작업을 시작했는지와 작업을 실제로 수행하는 내부 플러그인을 추적할 수 있습니다. 바인딩된 사용자는 수정자 이름 및 작성자 이름 운영 속성에 표시되지만 업데이트를 수행하는 플러그인은 internalModifiersnameinternalCreatorsname 운영 속성에 표시됩니다. 예를 들면 다음과 같습니다.

dn: uid=example,ou=people,dc=example,dc=com
modifiersname: uid=admin,ou=people,dc=example,dc=com
internalModifiersname: cn=MemberOf Plugin,cn=plugins,cn=config

nsslapd-plugin-binddn-tracking 매개변수는 바인딩된 사용자와 해당 연결에 대해 수행된 모든 업데이트 간의 관계를 추적하고 유지합니다.

참고

internalModifiersnameinternalCreatorsname 속성은 항상 플러그인을 ID로 표시합니다. 특성 값은 다음과 같습니다.

  • 코어 Directory Server에서 변경을 수행할 때 CN=ldbm 데이터베이스,cn=plugins,cn=config
  • CN=플러그인 ,cn=plugins,cn=config의 DN 이 플러그인에서 항목을 변경할 때