3장. 그룹 멤버가 데이터를 내보내고 그룹 멤버 중 하나로 내보내기 수행
그룹의 멤버에게 데이터를 내보낼 수 있는 권한이 있도록 구성할 수 있습니다. 이렇게 하면 스크립트에서 cn=Directory Manager
의 자격 증명을 더 이상 설정할 필요가 없기 때문에 보안이 향상됩니다. 또한 그룹을 수정하여 내보내기 권한을 쉽게 부여하고 취소할 수 있습니다.
3.1. 그룹이 데이터를 내보낼 수 있도록 활성화
이 절차를 사용하여 cn=export_users,ou=groups,dc=example,dc=com
그룹을 추가하고 이 그룹의 멤버를 활성화하여 내보내기 작업을 생성합니다.
절차
cn=export_users,ou=groups,dc=example,dc=com
그룹을 생성합니다.dsidm -D "cn=Directory manager" ldap://server.example.com -b "dc=example,dc=com" group create --cn export_users
# dsidm -D "cn=Directory manager" ldap://server.example.com -b "dc=example,dc=com" group create --cn export_users
Copy to Clipboard Copied! cn=export_users,ou=groups,dc=example,dc=com
그룹의 멤버를 허용하는ACI(액세스 제어 명령)를 추가하여 내보내기 작업을 생성합니다.ldapadd -D "cn=Directory Manager" -W -H ldap://server.example.com
# ldapadd -D "cn=Directory Manager" -W -H ldap://server.example.com dn: cn=config changetype: modify add: aci aci: (target = "ldap:///cn=export,cn=tasks,cn=config") (targetattr="*") (version 3.0 ; acl "permission: Allow export_users group to export data" ; allow (add, read, search) groupdn = "ldap:///cn=export_users,ou=groups,dc=example,dc=com";) - add: aci aci: (target = "ldap:///cn=config")(targetattr = "objectclass || cn || nsslapd-suffix || nsslapd-ldifdir") (version 3.0 ; acl "permission: Allow export_users group to access ldifdir attribute" ; allow (read,search) groupdn = "ldap:///cn=export_users,ou=groups,dc=example,dc=com";)
Copy to Clipboard Copied! 사용자를 생성합니다.
사용자 계정을 생성합니다.
dsidm -D "cn=Directory manager" ldap://server.example.com -b "dc=example,dc=com" user create --uid="example" --cn="example" --uidNumber="1000" --gidNumber="1000" --homeDirectory="/home/example/" --displayName="Example User"
# dsidm -D "cn=Directory manager" ldap://server.example.com -b "dc=example,dc=com" user create --uid="example" --cn="example" --uidNumber="1000" --gidNumber="1000" --homeDirectory="/home/example/" --displayName="Example User"
Copy to Clipboard Copied! 사용자 계정에 암호를 설정합니다.
dsidm -D "cn=Directory manager" ldap://server.example.com -b "dc=example,dc=com" account reset_password "uid=example,ou=People,dc=example,dc=com" "password"
# dsidm -D "cn=Directory manager" ldap://server.example.com -b "dc=example,dc=com" account reset_password "uid=example,ou=People,dc=example,dc=com" "password"
Copy to Clipboard Copied!
uid=example,ou=People,dc=example,dc=com
사용자를cn=export_users,ou=groups,dc=example,dc=com
그룹에 추가합니다.dsidm -D "cn=Directory manager" ldap://server.example.com -b "dc=example,dc=com" group add_member export_users uid=example,ou=People,dc=example,dc=com
# dsidm -D "cn=Directory manager" ldap://server.example.com -b "dc=example,dc=com" group add_member export_users uid=example,ou=People,dc=example,dc=com
Copy to Clipboard Copied!
검증
cn=config
항목에 설정된 ACI를 표시합니다.ldapsearch -o ldif-wrap=no -LLLx -D "cn=directory manager" -W -H ldap://server.example.com -b cn=config aci=* aci -s base
# ldapsearch -o ldif-wrap=no -LLLx -D "cn=directory manager" -W -H ldap://server.example.com -b cn=config aci=* aci -s base dn: cn=config aci: (target = "ldap:///cn=export,cn=tasks,cn=config")(targetattr="*")(version 3.0 ; acl "permission: Allow export_users group to export data" ; allow (add, read, search) groupdn = "ldap:///cn=export_users,ou=groups,dc=example,dc=com";) aci: (target = "ldap:///cn=config")(targetattr = "objectclass || cn || nsslapd-suffix || nsslapd-ldifdir")(version 3.0 ; acl "permission: Allow export_users group to access ldifdir attribute" ; allow (read,search) groupdn = "ldap:///cn=export_users,ou=groups,dc=example,dc=com";) ...
Copy to Clipboard Copied!