1

Тема: Как привязать пользователей к их базам при входе в phpadmin

Есть сеть большая
На одном компе стоит Apache,
настроенный для работе с виртуальными хостами
Схема такая
/user1 -- site11
site12
/user2 --site21
site22
site23
Хотелось бы как на проф. хостингах чтобы
настроить phpmyadmin так чтобы
каждый пользователь(или site..) видел
только свои базы и мог создавать
базы только с префиксом (допустим site11_name1)

Читал FAQ многопользовательская установка
немного непонятно
понял что http-аутентификация - сделал
завел пользователей например site21,site22 - глобальные привелегии какие????
$cfg['Servers'][$i]['only_db'] строка или массив
Если задать (если несколько - массив) имя/имена базы данных, то пользователю будут доступны только эта/эти база/бызы данных.
Это видимо когда phpmyadmin установлен для каждого и config auth . а если многопользовательская
и http auth ???? Как привязать пользователя к его базам ????

Если кто сталкивался - подскажите поподробнее

2

Re: Как привязать пользователей к их базам при входе в phpadmin

victoruni
Все что надо сделать - это правильно создать пользователей.
На главной phpMyAdmin нажимаем ссылку "Привилегии", далее "Добавить нового пользователя", далее заполняем поля в блоке "Информация учетной записи" и ниже отмечаем "Предоставить полные привилегии на базы данных подпадающие под шаблон (имя пользователя\_%)". Это все.

3

Re: Как привязать пользователей к их базам при входе в phpadmin

А нескажете где можно получить справку по правам
http://img.skynet.md/www_img/sh2348slos/478.jpg

4

Re: Как привязать пользователей к их базам при входе в phpadmin

viktor6
Краткое описание дано во всплывающей подсказке, которая появляется при наведении курсора, более детально смотрите в документации MySQL.
http://dev.mysql.com/doc/ - на русском есть документация для версии 4.0, но это вполне подходит для просмотра значений привилегий.
http://dev.mysql.com/doc/refman/5.0/en/grant.html - англоязычное описание команды GRANT, задающей привилегии.

5

Re: Как привязать пользователей к их базам при входе в phpadmin

Hanut сказал:

victoruni
Все что надо сделать - это правильно создать пользователей.
На главной phpMyAdmin нажимаем ссылку "Привилегии", далее "Добавить нового пользователя", далее заполняем поля в блоке "Информация учетной записи" и ниже отмечаем "Предоставить полные привилегии на базы данных подпадающие под шаблон (имя пользователя\_%)". Это все.

Я вот это сделал и у меня теперь 2 user и один root. Мне теперь какието изменения в конфиге нужно делать для многопользовательского режима????

<?php
$i = 0;

$i++;
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['extension'] = 'mysql';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['auth_type'] = 'http'; 

$cfg['Servers'][$i]['controluser'] = 'root'; // Имя созданного вами только что пользователя для доступа к расширенным таблицам.
$cfg['Servers'][$i]['controlpass'] = '123456'; // А здесь его пароль.

$cfg['blowfish_secret'] = '44218c7f513da2.45082943';
$cfg['ShowSQL'] = 'true';

?>

6

Re: Как привязать пользователей к их базам при входе в phpadmin

viktor6 сказал:

Я вот это сделал и у меня теперь 2 user и один root. Мне теперь какието изменения в конфиге нужно делать для многопользовательского режима????

Ничего больше делать не надо, просто заходите под созданными учетными записями, и все.

Можете убрать эти строки, если не собираетесь использовать расширения phpMyAdmin:
$cfg['Servers'][$i]['controluser'] = 'root';
$cfg['Servers'][$i]['controlpass'] = '123456';

7

Re: Как привязать пользователей к их базам при входе в phpadmin

Всмысле если пользователи не будут пользоваться phpMyAdmin???
Если да то говорю что пользователи будут им пользоваться

8

Re: Как привязать пользователей к их базам при входе в phpadmin

viktor6
$cfg['Servers'][$i]['controluser'] - Это директива для пользователя, через которого идет подключение к таблицам расшерений phpMyAdmin - к расширениям относятся Дизайнер связей, история запросов и др. У вас не задано ни одной директивы расширений, поэтому заполнение controluser не имеет смысла.

Седьмой параграф данной статьи описывает установку расширенных таблиц и шаги по конфигурированию для их подключения.
http://php-myadmin.ru/learning/phpmyadmin-setup.html

9

Re: Как привязать пользователей к их базам при входе в phpadmin

подскажите чтото изменилось в Версия MySQL-клиента: 5.0.51a и phpMyAdmin-3.1.3.1-all-languages
Тото немогу настроить многопользовательского режима  и назначить правильно парва подскажите

10

Re: Как привязать пользователей к их базам при входе в phpadmin

viktor6
Вроде не должно быть никаких проблем. Что конкретно у вас вызывает затруднение?

11

Re: Как привязать пользователей к их базам при входе в phpadmin

раньше както настраивал права для каждого узера отдельно а теперь чтото немогу нужно чтобы каждый юзер имел доступ только ксвоим базам и мог ними что угодно делать а чужимы нет

12

Re: Как привязать пользователей к их базам при входе в phpadmin

viktor6
Создаем пользователю БД, затем на странице привилегий создаем пользователя и назначаем ему право на эту БД. phpMyAdmin ставим на cookie авторизацию.

13 (изменено: viktor6, 2009-04-16 13:53:18)

Re: Как привязать пользователей к их базам при входе в phpadmin

Hanut
А какже сделать чтобы он создавал сам себе базу данный раньше было такое возможно но только была приставка ника юзера типа user_new и он мог полностью управлять этой базой

14

Re: Как привязать пользователей к их базам при входе в phpadmin

viktor6
При создании пользователя выберите радиокнопку "Предоставить полные привилегии на базы данных подпадающие под шаблон (имя пользователя\_%)". Тогда пользователь сможет создавать БД с префиксом.

15 (изменено: tiger, 2009-05-06 22:00:18)

Re: Как привязать пользователей к их базам при входе в phpadmin

Hanut сказал:

victoruni
Все что надо сделать - это правильно создать пользователей.
На главной phpMyAdmin нажимаем ссылку "Привилегии", далее "Добавить нового пользователя", далее заполняем поля в блоке "Информация учетной записи" и ниже отмечаем "Предоставить полные привилегии на базы данных подпадающие под шаблон (имя пользователя\_%)". Это все.

Здравствуйте !
Все сделал как вы сказали, пользователя создает и отображает но при входе созданного пользователя пишет
#1045 - Access denied for user 'host02'@'localhost' (using password: YES)
в чем причина ?
Даже если указываю вход без пароля
Благодарю

16

Re: Как привязать пользователей к их базам при входе в phpadmin

Зайдите под root и посмотрите что выводит запрос:

SHOW GRANTS FOR 'host02'@'localhost';

17

Re: Как привязать пользователей к их базам при входе в phpadmin

теперь при создании бд пользователь вынужден вписывать её со своим префиксом, т.е. скажем user_newdbname
есть ли возможность сделать так, чтобы ему достаточно было вписывать newdbname и бд автоматом создавалась с именем user_newdbname

Сообщение добавлено Wed Jun 17 12:54:25 2009
также было бы неплохо скрыть пользователям лишние вкладки типа "Привилегии", к которым доступа у них всё равно нет.

18

Re: Как привязать пользователей к их базам при входе в phpadmin

bliss
Префикс уже вписан в поле БД. Автоматического добавления префикса нет.

Если у пользователя нет прав GRANT, то вкладка на страницу привилегий не выводится.

19

Re: Как привязать пользователей к их базам при входе в phpadmin

Hanut
спасибо, сейчас пересоздал пользователя и всё получилось.

а ни то, ни другое не получалось, если при создании пользователя пометить опцию "дать права на базы вида user\_%". редактировал, убирал GRANT — без толку. только когда создал нового пользователя без раздачи прав, следующим шагом раздал права на user\_% (исключая GRANT), тогда и вышло норм: появился префикс в поле создания бд, пропала вкладка "привилегии".

20

Re: Как привязать пользователей к их базам при входе в phpadmin

bliss
Возможно версия phpMyAdmin старая, у меня все работает и с радиокнопкой.

21

Re: Как привязать пользователей к их базам при входе в phpadmin

3.2.0.

22

Re: Как привязать пользователей к их базам при входе в phpadmin

bliss
Дело в том, что запрос на радиокнопке формируется правильный и он должен корректно работать. Возможно причиной того, что вкладка привилегий оставалась видимой в том, что куки не были очищены от предыдущего захода под root.

23

Re: Как привязать пользователей к их базам при входе в phpadmin

Hanut
точно, скорее всего дело именно в этом.
например, до удаления куков не хотел меняться префмкс в поле "создать дб" от прошлого пользователя.

24

Re: Как привязать пользователей к их базам при входе в phpadmin

а как скрыть от пользователей базу information_schema

25

Re: Как привязать пользователей к их базам при входе в phpadmin

$cfg['Servers'][$i]['hide_db'] = 'information_schema';

http://php-myadmin.ru/doc/config.html#hide_db