diff options
Diffstat (limited to 'rt/etc/acl.mysql')
-rwxr-xr-x | rt/etc/acl.mysql | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/rt/etc/acl.mysql b/rt/etc/acl.mysql new file mode 100755 index 000000000..16882378e --- /dev/null +++ b/rt/etc/acl.mysql @@ -0,0 +1,25 @@ + +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"; + $db_name =~ s/([_%])/\\$1/g; + return ( + "GRANT SELECT,INSERT,CREATE,INDEX,UPDATE,DELETE + ON `$db_name`.* + TO '$db_user'\@'$db_rthost' + IDENTIFIED BY '$db_pass';", + ); +} + +1; |