diff options
Diffstat (limited to 'rt/etc/acl.Pg')
-rwxr-xr-x | rt/etc/acl.Pg | 96 |
1 files changed, 36 insertions, 60 deletions
diff --git a/rt/etc/acl.Pg b/rt/etc/acl.Pg index 16ea71b2d..13ac41dcf 100755 --- a/rt/etc/acl.Pg +++ b/rt/etc/acl.Pg @@ -1,63 +1,39 @@ -sub acl { - my $dbh = shift; +drop user !!DB_RT_USER!!; +create user !!DB_RT_USER!! with password '!!DB_RT_PASS!!' NOCREATEDB NOCREATEUSER; - my @acls; +grant select, insert, update, delete on Groups to !!DB_RT_USER!!; +grant select, insert, update, delete on Groups_id_seq to !!DB_RT_USER!!; +grant select, insert, update, delete on ACL to !!DB_RT_USER!!; +grant select, insert, update, delete on ACL_id_seq to !!DB_RT_USER!!; +grant select, insert, update, delete on Watchers to !!DB_RT_USER!!; +grant select, insert, update, delete on Watchers_id_seq to !!DB_RT_USER!!; +grant select, insert, update, delete on Links to !!DB_RT_USER!!; +grant select, insert, update, delete on Links_id_seq to !!DB_RT_USER!!; +grant select, insert, update, delete on Users to !!DB_RT_USER!!; +grant select, insert, update, delete on Users_id_seq to !!DB_RT_USER!!; +grant select, insert, update, delete on Tickets to !!DB_RT_USER!!; +grant select, insert, update, delete on Tickets_id_seq to !!DB_RT_USER!!; +grant select, insert, update, delete on GroupMembers to !!DB_RT_USER!!; +grant select, insert, update, delete on GroupMembers_id_seq to !!DB_RT_USER!!; +grant select, insert, update, delete on Queues to !!DB_RT_USER!!; +grant select, insert, update, delete on Queues_id_seq to !!DB_RT_USER!!; +grant select, insert, update, delete on Transactions to !!DB_RT_USER!!; +grant select, insert, update, delete on Transactions_id_seq to !!DB_RT_USER!!; +grant select, insert, update, delete on ScripActions to !!DB_RT_USER!!; +grant select, insert, update, delete on ScripActions_id_seq to !!DB_RT_USER!!; +grant select, insert, update, delete on ScripConditions to !!DB_RT_USER!!; +grant select, insert, update, delete on ScripConditions_id_seq to !!DB_RT_USER!!; +grant select, insert, update, delete on Scrips to !!DB_RT_USER!!; +grant select, insert, update, delete on Scrips_id_seq to !!DB_RT_USER!!; +grant select, insert, update, delete on Attachments to !!DB_RT_USER!!; +grant select, insert, update, delete on Attachments_id_seq to !!DB_RT_USER!!; +grant select, insert, update, delete on Templates to !!DB_RT_USER!!; +grant select, insert, update, delete on Templates_id_seq to !!DB_RT_USER!!; +grant select, insert, update, delete on Keywords to !!DB_RT_USER!!; +grant select, insert, update, delete on Keywords_id_seq to !!DB_RT_USER!!; +grant select, insert, update, delete on ObjectKeywords to !!DB_RT_USER!!; +grant select, insert, update, delete on ObjectKeywords_id_seq to !!DB_RT_USER!!; +grant select, insert, update, delete on KeywordSelects to !!DB_RT_USER!!; +grant select, insert, update, delete on KeywordSelects_id_seq to !!DB_RT_USER!!; - my @tables = qw ( - attachments_id_seq - Attachments - queues_id_seq - Queues - links_id_seq - Links - principals_id_seq - Principals - groups_id_seq - Groups - scripconditions_id_seq - ScripConditions - transactions_id_seq - Transactions - scrips_id_seq - Scrips - acl_id_seq - ACL - groupmembers_id_seq - GroupMembers - cachedgroupmembers_id_seq - CachedGroupMembers - users_id_seq - Users - tickets_id_seq - Tickets - scripactions_id_seq - ScripActions - templates_id_seq - Templates - ticketcustomfieldvalues_id_s - TicketCustomFieldValues - customfields_id_seq - CustomFields - customfieldvalues_id_seq - CustomFieldValues - sessions - ); - - # if there's already an rt_user, drop it. - my @row = - $dbh->selectrow_array( "select usename from pg_user where usename = '" . $RT::DatabaseUser."'" ); - if ( $row[0] ) { - push @acls, "drop user ${RT::DatabaseUser};",; - } - - push @acls, "create user ${RT::DatabaseUser} with password '${RT::DatabasePassword}' NOCREATEDB NOCREATEUSER;"; - foreach my $table (@tables) { - push @acls, - "GRANT SELECT, INSERT, UPDATE, DELETE ON $table to " - . $RT::DatabaseUser . ";"; - - } - return (@acls); -} -1; |