9장. ldapmodify를 사용하여 외부 IdM 사용자 관리

IdM 관리자는 ipa 명령을 사용하여 디렉터리 콘텐츠를 관리할 수 있습니다. 또는 ldapmodify 명령을 사용하여 유사한 목표를 달성할 수 있습니다. 이 명령을 대화형으로 사용하고 명령줄에서 모든 데이터를 직접 제공할 수 있습니다. LDAP Data Interchange Format(LDIF)에서 ldapmodify 명령에 데이터를 제공할 수도 있습니다.

9.1. IdM 사용자 계정을 외부에서 관리하기 위한 템플릿

다음 템플릿은 IdM의 다양한 사용자 관리 작업에 사용할 수 있습니다. 템플릿은 다음 목표를 달성하기 위해 ldapmodify 를 사용하여 수정해야 하는 속성을 표시합니다.

  • 새 스테이지 사용자 추가
  • 사용자 특성 수정
  • 사용자 활성화
  • 사용자 비활성화
  • 사용자 보존

템플릿은 LDAP Data Interchange Format(LDIF)으로 포맷됩니다. LDIF는 LDAP 디렉토리 콘텐츠 및 업데이트 요청을 나타내는 표준 텍스트 데이터 교환 형식입니다.

템플릿을 사용하여 IdM 사용자 계정을 관리하도록 프로비저닝 시스템의 LDAP 공급자를 구성할 수 있습니다.

자세한 예제 절차는 다음 섹션을 참조하십시오.

새 스테이지 사용자를 추가하기 위한 템플릿

  • UID 및 GID가 자동으로 할당된 사용자를 추가하는 템플릿입니다. 생성된 항목의 DN(고유 이름)은 uid=user_login 으로 시작해야 합니다.

    dn: uid=user_login,cn=staged users,cn=accounts,cn=provisioning,dc=idm,dc=example,dc=com
    changetype: add
    objectClass: top
    objectClass: inetorgperson
    uid: user_login
    sn: surname
    givenName: first_name
    cn: full_name
  • UID 및 GID가 할당된 사용자를 추가하기 위한 템플릿:

    dn: uid=user_login,cn=staged users,cn=accounts,cn=provisioning,dc=idm,dc=example,dc=com
    changetype: add
    objectClass: top
    objectClass: person
    objectClass: inetorgperson
    objectClass: organizationalperson
    objectClass: posixaccount
    uid: user_login
    uidNumber: UID_number
    gidNumber: GID_number
    sn: surname
    givenName: first_name
    cn: full_name
    homeDirectory: /home/user_login

    스테이징 사용자를 추가할 때 IdM 오브젝트 클래스를 지정할 필요는 없습니다. IdM은 사용자가 활성화된 후 이러한 클래스를 자동으로 추가합니다.

기존 사용자를 수정하기 위한 템플릿

  • 사용자 특성 수정:

    dn: distinguished_name
    changetype: modify
    replace: attribute_to_modify
    attribute_to_modify: new_value
  • 사용자 비활성화:

    dn: distinguished_name
    changetype: modify
    replace: nsAccountLock
    nsAccountLock: TRUE
  • 사용자 활성화:

    dn: distinguished_name
    changetype: modify
    replace: nsAccountLock
    nsAccountLock: FALSE

    nssAccountLock 속성을 업데이트해도 준비 및 보존된 사용자에게는 영향을 미치지 않습니다. 업데이트 작업이 성공적으로 완료되었지만 특성 값은 nssAccountLock: TRUE 로 유지됩니다.

  • 사용자 보존:

    dn: distinguished_name
    changetype: modrdn
    newrdn: uid=user_login
    deleteoldrdn: 0
    newsuperior: cn=deleted users,cn=accounts,cn=provisioning,dc=idm,dc=example,dc=com
참고

사용자를 수정하기 전에 사용자 로그인을 검색하여 사용자의 고유 이름(DN)을 가져옵니다. 다음 예에서 user_allowed_to_modify_user_entries 사용자는 사용자 및 그룹 정보를 수정할 수 있는 사용자입니다(예: activator 또는 IdM 관리자). 이 예제의 암호는 이 사용자 암호입니다.

[...]
# ldapsearch -LLL -x -D "uid=user_allowed_to_modify_user_entries,cn=users,cn=accounts,dc=idm,dc=example,dc=com" -w "Secret123" -H ldap://r8server.idm.example.com -b "cn=users,cn=accounts,dc=idm,dc=example,dc=com" uid=test_user
dn: uid=test_user,cn=users,cn=accounts,dc=idm,dc=example,dc=com
memberOf: cn=ipausers,cn=groups,cn=accounts,dc=idm,dc=example,dc=com