summaryrefslogtreecommitdiff
path: root/rt/etc/acl.mysql
diff options
context:
space:
mode:
Diffstat (limited to 'rt/etc/acl.mysql')
-rwxr-xr-xrt/etc/acl.mysql27
1 files changed, 27 insertions, 0 deletions
diff --git a/rt/etc/acl.mysql b/rt/etc/acl.mysql
new file mode 100755
index 0000000..0982ca2
--- /dev/null
+++ b/rt/etc/acl.mysql
@@ -0,0 +1,27 @@
+
+sub acl {
+ my $db_name = RT->Config->Get('DatabaseName');
+ my $db_rthost = RT->Config->Get('DatabaseRTHost');
+ my $db_user = RT->Config->Get('DatabaseUser');
+ my $db_pass = RT->Config->Get('DatabasePassword');
+ unless ( $db_user ) {
+ print STDERR "DatabaseUser option is not defined or empty. Skipping...\n";
+ return;
+ }
+ if ( $db_user eq 'root' ) {
+ print STDERR "DatabaseUser is root. Skipping...\n";
+ return;
+ }
+ print "Granting access to $db_user\@'$db_rthost' on $db_name.\n";
+ return (
+ "USE mysql;",
+ "DELETE FROM user WHERE user = '$db_user';",
+ "DELETE FROM db where db = '$db_name';",
+ "GRANT SELECT,INSERT,CREATE,INDEX,UPDATE,DELETE
+ ON $db_name.*
+ TO '$db_user'\@'$db_rthost'
+ IDENTIFIED BY '$db_pass';",
+ );
+}
+
+1;