Accès MySQL root pour les admins

This commit is contained in:
Daniel Berteaud 2012-10-10 16:14:54 +02:00
parent 7cd552118b
commit 4a60784199
4 changed files with 8 additions and 15 deletions

View File

@ -1,12 +0,0 @@
{
use esmith::util;
my $admin = $DB->get('admin') || return;
my $pw = $admin->prop('SqlPassword');
unless ($pw){
$admin->set_prop('SqlPassword', esmith::util::LdapPassword());
}
}

View File

@ -1,7 +1,7 @@
{
use Digest::SHA1 qw(sha1_hex);
use esmith::AccountsDB;
use esmith::util;
my $a = esmith::AccountsDB->open_ro or die "Couldn't open AccountsDB\n";
$OUT .= "// login and password for MySQL access\n";
@ -10,6 +10,12 @@ foreach my $u ($a->users,$a->get('admin')){
my $user = $u->key;
my $login = $u->prop('SqlLogin') || '';
my $pass = $u->prop('SqlPassword') || '';
# Members of the admins group automatically have
# full privileges on MySQL
if (($a->is_user_in_group($user,'admins')) || ($a->is_user_in_group($user,'mysqladmins'))){
$login = 'root';
$pass = esmith::util::LdapPassword();
}
next unless (($login ne '') && ($pass ne ''));
$OUT .= "// Credentials for $user\n";
$OUT .= '$login["'.$user.'"] = "'.$login."\";\n";

View File

@ -6,7 +6,7 @@ $conf->{'exportedHeaders'}->{"sql.$domain"} = {
$conf->{'locationRules'}->{"sql.$domain"} = {
'default' => '$groups =~ /\\badmins\\b/',
'default' => '$groups =~ /\\badmins|mysqladmins\\b/',
} unless ($conf->{'locationRules'}->{"sql.$domain"});
$conf->{'applicationList'}->{'030admin'}->{'phpmyadmin'} = {