diff options
author | Petr Viktorin <pviktori@redhat.com> | 2014-06-04 17:39:10 +0200 |
---|---|---|
committer | Martin Kosek <mkosek@redhat.com> | 2014-06-24 13:53:40 +0200 |
commit | 978af07dd51bad9c6da53a2a021c3b6d1d1d2008 (patch) | |
tree | 6ed7e5821cb9dd62d75e5286c45ca7e8739217af | |
parent | 8e8e6b1ae7c28460f076475d549a8c46fda32c68 (diff) | |
download | freeipa-978af07dd51bad9c6da53a2a021c3b6d1d1d2008.tar.gz freeipa-978af07dd51bad9c6da53a2a021c3b6d1d1d2008.tar.xz freeipa-978af07dd51bad9c6da53a2a021c3b6d1d1d2008.zip |
Convert Hostgroup default permissions to managed
Part of the work for: https://fedorahosted.org/freeipa/ticket/4346
Reviewed-By: Martin Kosek <mkosek@redhat.com>
-rw-r--r-- | ACI.txt | 8 | ||||
-rw-r--r-- | install/share/delegation.ldif | 44 | ||||
-rw-r--r-- | ipalib/plugins/hostgroup.py | 30 |
3 files changed, 38 insertions, 44 deletions
@@ -98,10 +98,18 @@ dn: cn=System: Read Hosts,cn=permissions,cn=pbac,dc=ipa,dc=example aci: (targetattr = "cn || description || enrolledby || fqdn || ipaclientversion || ipakrbauthzdata || ipasshpubkey || ipauniqueid || krbcanonicalname || krblastpwdchange || krbpasswordexpiration || krbprincipalaliases || krbprincipalexpiration || krbprincipalname || l || macaddress || managedby || nshardwareplatform || nshostlocation || nsosversion || objectclass || serverhostname || usercertificate || userclass")(targetfilter = "(objectclass=ipahost)")(version 3.0;acl "permission:System: Read Hosts";allow (compare,read,search) userdn = "ldap:///all";) dn: cn=System: Remove Hosts,cn=permissions,cn=pbac,dc=ipa,dc=example aci: (targetfilter = "(objectclass=ipahost)")(version 3.0;acl "permission:System: Remove Hosts";allow (delete) groupdn = "ldap:///cn=System: Remove Hosts,cn=permissions,cn=pbac,dc=ipa,dc=example";) +dn: cn=System: Add Hostgroups,cn=permissions,cn=pbac,dc=ipa,dc=example +aci: (targetfilter = "(objectclass=ipahostgroup)")(version 3.0;acl "permission:System: Add Hostgroups";allow (add) groupdn = "ldap:///cn=System: Add Hostgroups,cn=permissions,cn=pbac,dc=ipa,dc=example";) +dn: cn=System: Modify Hostgroup Membership,cn=permissions,cn=pbac,dc=ipa,dc=example +aci: (targetattr = "member")(targetfilter = "(objectclass=ipahostgroup)")(version 3.0;acl "permission:System: Modify Hostgroup Membership";allow (write) groupdn = "ldap:///cn=System: Modify Hostgroup Membership,cn=permissions,cn=pbac,dc=ipa,dc=example";) +dn: cn=System: Modify Hostgroups,cn=permissions,cn=pbac,dc=ipa,dc=example +aci: (targetattr = "cn || description")(targetfilter = "(objectclass=ipahostgroup)")(version 3.0;acl "permission:System: Modify Hostgroups";allow (write) groupdn = "ldap:///cn=System: Modify Hostgroups,cn=permissions,cn=pbac,dc=ipa,dc=example";) dn: cn=System: Read Hostgroup Membership,cn=permissions,cn=pbac,dc=ipa,dc=example aci: (targetattr = "member || memberhost || memberof || memberuser")(targetfilter = "(objectclass=ipahostgroup)")(version 3.0;acl "permission:System: Read Hostgroup Membership";allow (compare,read,search) userdn = "ldap:///all";) dn: cn=System: Read Hostgroups,cn=permissions,cn=pbac,dc=ipa,dc=example aci: (targetattr = "businesscategory || cn || description || ipauniqueid || o || objectclass || ou || owner || seealso")(targetfilter = "(objectclass=ipahostgroup)")(version 3.0;acl "permission:System: Read Hostgroups";allow (compare,read,search) userdn = "ldap:///all";) +dn: cn=System: Remove Hostgroups,cn=permissions,cn=pbac,dc=ipa,dc=example +aci: (targetfilter = "(objectclass=ipahostgroup)")(version 3.0;acl "permission:System: Remove Hostgroups";allow (delete) groupdn = "ldap:///cn=System: Remove Hostgroups,cn=permissions,cn=pbac,dc=ipa,dc=example";) dn: cn=System: Read ID Ranges,cn=permissions,cn=pbac,dc=ipa,dc=example aci: (targetattr = "cn || ipabaseid || ipabaserid || ipaidrangesize || ipanttrusteddomainsid || iparangetype || ipasecondarybaserid || objectclass")(targetfilter = "(objectclass=ipaidrange)")(version 3.0;acl "permission:System: Read ID Ranges";allow (compare,read,search) userdn = "ldap:///all";) dn: cn=System: Read Default Kerberos Ticket Policy,cn=permissions,cn=pbac,dc=ipa,dc=example diff --git a/install/share/delegation.ldif b/install/share/delegation.ldif index 711026e1e..84af28bb3 100644 --- a/install/share/delegation.ldif +++ b/install/share/delegation.ldif @@ -133,40 +133,6 @@ description: Host Enrollment # Default permissions. ############################################ -# Hostgroup administration - -dn: cn=Add Hostgroups,cn=permissions,cn=pbac,$SUFFIX -changetype: add -objectClass: top -objectClass: groupofnames -objectClass: ipapermission -cn: Add Hostgroups -member: cn=Host Group Administrators,cn=privileges,cn=pbac,$SUFFIX - -dn: cn=Remove Hostgroups,cn=permissions,cn=pbac,$SUFFIX -changetype: add -objectClass: top -objectClass: groupofnames -objectClass: ipapermission -cn: Remove Hostgroups -member: cn=Host Group Administrators,cn=privileges,cn=pbac,$SUFFIX - -dn: cn=Modify Hostgroups,cn=permissions,cn=pbac,$SUFFIX -changetype: add -objectClass: top -objectClass: groupofnames -objectClass: ipapermission -cn: Modify Hostgroups -member: cn=Host Group Administrators,cn=privileges,cn=pbac,$SUFFIX - -dn: cn=Modify Hostgroup membership,cn=permissions,cn=pbac,$SUFFIX -changetype: add -objectClass: top -objectClass: groupofnames -objectClass: ipapermission -cn: Modify Hostgroup membership -member: cn=Host Group Administrators,cn=privileges,cn=pbac,$SUFFIX - # Service administration dn: cn=Add Services,cn=permissions,cn=pbac,$SUFFIX @@ -324,16 +290,6 @@ member: cn=Replication Administrators,cn=privileges,cn=pbac,$SUFFIX # Default permissions (ACIs) ############################################ -# Hostgroup administration - -dn: $SUFFIX -changetype: modify -add: aci -aci: (target = "ldap:///cn=*,cn=hostgroups,cn=accounts,$SUFFIX")(version 3.0;acl "permission:Add Hostgroups";allow (add) groupdn = "ldap:///cn=Add Hostgroups,cn=permissions,cn=pbac,$SUFFIX";) -aci: (target = "ldap:///cn=*,cn=hostgroups,cn=accounts,$SUFFIX")(version 3.0;acl "permission:Remove Hostgroups";allow (delete) groupdn = "ldap:///cn=Remove Hostgroups,cn=permissions,cn=pbac,$SUFFIX";) -aci: (targetattr = "cn || description")(target = "ldap:///cn=*,cn=hostgroups,cn=accounts,$SUFFIX")(version 3.0; acl "permission:Modify Hostgroups";allow (write) groupdn = "ldap:///cn=Modify Hostgroups,cn=permissions,cn=pbac,$SUFFIX";) -aci: (targetattr = "member")(target = "ldap:///cn=*,cn=hostgroups,cn=accounts,$SUFFIX")(version 3.0;acl "permission:Modify Hostgroup membership";allow (write) groupdn = "ldap:///cn=Modify Hostgroup membership,cn=permissions,cn=pbac,$SUFFIX";) - # Service administration dn: $SUFFIX diff --git a/ipalib/plugins/hostgroup.py b/ipalib/plugins/hostgroup.py index 711ed8972..0e86e9920 100644 --- a/ipalib/plugins/hostgroup.py +++ b/ipalib/plugins/hostgroup.py @@ -94,6 +94,36 @@ class hostgroup(LDAPObject): 'member', 'memberof', 'memberuser', 'memberhost', }, }, + 'System: Add Hostgroups': { + 'ipapermright': {'add'}, + 'replaces': [ + '(target = "ldap:///cn=*,cn=hostgroups,cn=accounts,$SUFFIX")(version 3.0;acl "permission:Add Hostgroups";allow (add) groupdn = "ldap:///cn=Add Hostgroups,cn=permissions,cn=pbac,$SUFFIX";)', + ], + 'default_privileges': {'Host Group Administrators'}, + }, + 'System: Modify Hostgroup Membership': { + 'ipapermright': {'write'}, + 'ipapermdefaultattr': {'member'}, + 'replaces': [ + '(targetattr = "member")(target = "ldap:///cn=*,cn=hostgroups,cn=accounts,$SUFFIX")(version 3.0;acl "permission:Modify Hostgroup membership";allow (write) groupdn = "ldap:///cn=Modify Hostgroup membership,cn=permissions,cn=pbac,$SUFFIX";)', + ], + 'default_privileges': {'Host Group Administrators'}, + }, + 'System: Modify Hostgroups': { + 'ipapermright': {'write'}, + 'ipapermdefaultattr': {'cn', 'description'}, + 'replaces': [ + '(targetattr = "cn || description")(target = "ldap:///cn=*,cn=hostgroups,cn=accounts,$SUFFIX")(version 3.0; acl "permission:Modify Hostgroups";allow (write) groupdn = "ldap:///cn=Modify Hostgroups,cn=permissions,cn=pbac,$SUFFIX";)', + ], + 'default_privileges': {'Host Group Administrators'}, + }, + 'System: Remove Hostgroups': { + 'ipapermright': {'delete'}, + 'replaces': [ + '(target = "ldap:///cn=*,cn=hostgroups,cn=accounts,$SUFFIX")(version 3.0;acl "permission:Remove Hostgroups";allow (delete) groupdn = "ldap:///cn=Remove Hostgroups,cn=permissions,cn=pbac,$SUFFIX";)', + ], + 'default_privileges': {'Host Group Administrators'}, + }, } label = _('Host Groups') |