X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=rt%2Fetc%2Facl.mysql;h=0982ca22858b927db3b6a3dee914934903ca3b33;hb=3d03c984ad92dcc7b49395236db8324a134e0583;hp=7feb376f54be521df8f45191ff6d25811b5a0c29;hpb=3ef62a0570055da710328937e7f65dbb2c027c62;p=freeside.git diff --git a/rt/etc/acl.mysql b/rt/etc/acl.mysql index 7feb376f5..0982ca228 100755 --- a/rt/etc/acl.mysql +++ b/rt/etc/acl.mysql @@ -1,4 +1,27 @@ -DELETE FROM user WHERE user like '!!DB_RT_USER!!'; -DELETE FROM db where db LIKE '!!DB_DATABASE!!'; -GRANT SELECT,INSERT,CREATE,INDEX,UPDATE,DELETE ON !!DB_DATABASE!!.* TO !!DB_RT_USER!!@!!DB_RT_HOST!! IDENTIFIED BY '!!DB_RT_PASS!!'; +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;