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