26

Re: Настройка многопользовательского режима работы с БД

next40
читай правила:

Запрещено
3.4. Создавая новую тему, давайте ей осмысленное название. Оно должно отражать суть Вашего вопроса или сообщения.

читай оф. документацию "Конфигурирование phpMyAdmin" там все это есть

Нет неразрешимых проблем, есть неприятные решения. (Э. Борн)

27

Re: Настройка многопользовательского режима работы с БД

Сорри ..

Но проблема в том что доступ к определенным базам указан а показываються сразу все sad

28

Re: Настройка многопользовательского режима работы с БД

next40
так, значит тебе нужна многопользовательская установка. Одними настройками конфига не обойтись. Нужно такж задать пользователям привилегии только на их собственные базы, и соответственно не давать права (в т.ч. SELECT на другие) на другие БД/таблицы. Главная страница -> Privileges -> Здесь администрируешь пользователей

Нет неразрешимых проблем, есть неприятные решения. (Э. Борн)

29

Re: Настройка многопользовательского режима работы с БД

Не не работает
Привилегии, специфичные для базы данных:
INSERT, UPDATE, DELETE, CREATE, DROP, ALTER
---
Всё остальное выключено всё равно дает доступ ко всем базам данных кроме mysql

30

Re: Настройка многопользовательского режима работы с БД

next40
пользователь которого ты ограничиваешь в правах не должен иметь глобальных привилегий.

Нет неразрешимых проблем, есть неприятные решения. (Э. Борн)

31

Re: Настройка многопользовательского режима работы с БД

я же написал это это не глобальные права а права на базу данных
Привилегии, специфичные для базы данных:

32 (изменено: next40, 2006-04-21 23:35:27)

Re: Настройка многопользовательского режима работы с БД

как правильно нужно делать config.inc.php?

33

Re: Настройка многопользовательского режима работы с БД

next40
не понял причинно-следственой связи... ты разобрался с привилегиями?

как правильно нужно делать config.inc.php?

Использование скрипта установки
Как запустить phpMyAdmin

Нет неразрешимых проблем, есть неприятные решения. (Э. Борн)

34

Re: Настройка многопользовательского режима работы с БД

С привилегиями как то странно точно не понял конечно но похоже нашел проблему в config.inc.php
если в конфиге больше чем один хост то даёт доступ ко всей базе ,причем когда хост только один
в левом выпадающем меню толька база которая я указал ,а доступ к другим базам остаеться через листинг всех баз через главное меню....
Чёта я помойму криво объяснил sad сорри

35

Re: Настройка многопользовательского режима работы с БД

Использование скрипта установки
Как запустить phpMyAdmin

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

36

Re: Настройка многопользовательского режима работы с БД

next40

Чёта я помойму криво объяснил sad сорри

Объясни не криво. Сформулируй четко и однозначно.

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

Это оф. документация. Можешь конечно в оригинале документацию полистать.

phpMyAdmin - не панацея, а отличный инструмент администрирования баз данных. Если ты хочешь администрировать базы данных, ты должен владеть теорией. Точно также если ты хочешь прочитать интересный журнал, ты должен уметь хотя бы читать.

Нет неразрешимых проблем, есть неприятные решения. (Э. Борн)

37

Re: Настройка многопользовательского режима работы с БД

Всё вроде сделал но не пойму както странно работает
я сделал для теста двух юзеров у каждого доступ к одной базе
всего баз 4
когда вхожу под пользователем которого добавил в базу первого он имеет доступ к базе которую я ему назначил и еще к стандартной базе.
у 2 юзера доступ уже к 3 базам
которую ему назначил я потом которая которая назначена у первого пользователя и стандартная база

38

Re: Настройка многопользовательского режима работы с БД

next40
Итак. Условия задачи: имеется 4 базы данных: db_1, db_2, db_3, db_4. Необходимо создать 2 пользователей (не обладающих правами root): user1 и user2 чтобы каждый имел доступ только к своей базе данных и не имел доступа к остальным трем базам: user1 - db_1, user2 - db_2. Для многопользовательского использования буду использовать cookie-аутентификацию, чтобы не нагромождать массив в конфиге.

Решение: переходим по ссылке 'Privileges', создаем пользователя user1 - 'Add a new User'.

Действия на странице 'Add a new User'
'User name' = user1; 'Host' = localhost; 'Password' = *****. Далее смотрим, чтобы ничего не было отмечено в блоке 'Global privileges', если не верим своим глазам - давим на ссылку 'Uncheck All'. Жмем на 'Go' и получаем новоиспеченного пользователя user1, который еще не обладает никакими правами - в печь его, работаем над ним дальше.

Действия на странице "User 'user1'@'localhost'  : Edit Privileges"
В блоке 'Global privileges' ни один чекбокс не должен быть отмечен, особо сомневающиеся в своих мониторах и зрении кликают по ссылке 'Uncheck All'.

Переходим к блоку 'Database-specific privileges' в котором представлена пустая пока еще таблица с полями 'Database', 'Privileges', 'Grant', 'Table-specific privileges', 'Action'. Из выпадающего списка 'Add privileges on the following database' выбираем базу данных 'db_1', и автоматически переходим на страницу 'User 'user1'@'localhost'  - Database db_1  : Edit Privileges'

Действия на странице "User 'user1'@'localhost'  - Database db_1  : Edit Privileges"
Первое, что попадается на глаза - блок 'Database-specific privileges', который содержит привилегии на базу 'db_1', что нам и нужно. Привилегии разбиты на 3 категории: 'Data', 'Structure', 'Administration', которые соответственно означают права на действия в базе данных 'db_1' с данными, структурой и администрированием.

"Расщедримся" и дадим user1 широкие права для работы с 'db_1' - отмечаем все чекбоксы в категориях 'Data', 'Structure'. Жмем 'Go'.

Отступление. Но, можно "ущемить" пользователя в правах в блоке 'Table-specific privileges', указав там отдельные таблицы  - таким образом полномочия user1 сузятся еще больше - до отдельных таблиц. Но нужно иметь ввиду, что в последнем случае user1 не должен иметь прав на 'db_1', которые задали ему в блоке 'Database-specific privileges', т.к. они распространяются на ВСЮ базу данных и если вы разрешите ему права SELECT на всю базу данных, то он и будет смотреть всю базу данных, несмотря на привилегии, специфичные для отдельных таблиц.

Итак, phpMyAdmin любезно сообщает нам, что привилегии пользователя user1 были нами обновлены:
You have updated the privileges for 'user1'@'localhost'. Теперь проверим. Закрываем окно браузера, запускаем его снова. При авторизации указываем user1 / ***** - доступна только 'db_1'.

Создаем пользователя user2
Повторяем те же самые манипуляции для пользователя user2, только привилегии ему даем на базу 'db_2'. Проверяем: Закрываем окно браузера, запускаем его снова. При авторизации указываем user2 / ***** - доступна только 'db_2'. Соответственно базы 'db_3' и 'db_4' не доступны ни одному из созданных нами пользователей.
Что и требовалось получить.

Нет неразрешимых проблем, есть неприятные решения. (Э. Борн)

39

Re: Настройка многопользовательского режима работы с БД

Вот теперь можешь выложить свой config.inc.php ?

40 (изменено: next40, 2006-04-22 10:27:38)

Re: Настройка многопользовательского режима работы с БД

Только теперь каждый пользователь имеет доступ к своей базе и также к базе
information_schema

41

Re: Настройка многопользовательского режима работы с БД

next40
<?php
$i = 0;
/* Server localhost (http:controluser) [1] */
$i++;
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['user'] = '';
$cfg['Servers'][$i]['password'] = '';
$cfg['Servers'][$i]['controluser'] = '';
$cfg['Servers'][$i]['controlpass'] = '';
$cfg['Servers'][$i]['only_db']='';

/* End of servers configuration */
$cfg['blowfish_secret'] = '44218c7f513da2.45082943';
$cfg['ShowSQL'] = 'true';
?>

Нет неразрешимых проблем, есть неприятные решения. (Э. Борн)

42

Re: Настройка многопользовательского режима работы с БД

Всё равно остался доступ к information_schema
сделал так
/* Servers configuration */
$i = 0;
/* Server localhost (http:controluser) [1] */
$i++;
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['auth_type'] = 'http';
$cfg['Servers'][$i]['user'] = 'test';
$cfg['Servers'][$i]['password'] = 'test';
$cfg['Servers'][$i]['controluser'] = '';
$cfg['Servers'][$i]['controlpass'] = '';
$cfg['Servers'][$i]['only_db']='daymon';
$cfg['ShowSQL'] = 'true';

$i++;
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['auth_type'] = 'http';
$cfg['Servers'][$i]['user'] = 'test1';
$cfg['Servers'][$i]['password'] = 'test';
$cfg['Servers'][$i]['controluser'] = '';
$cfg['Servers'][$i]['controlpass'] = '';
$cfg['Servers'][$i]['only_db']='test';
$cfg['ShowSQL'] = 'true';
/* End of servers configuration */

43

Re: Настройка многопользовательского режима работы с БД

next40

Всё равно остался доступ к information_schema

В базе данных `mysql` в таблице `db`посмотри значение поля `User ` для записи 'information_schema'. Если оно бесхозное/пустое - значит эта база данных доступна анонимным пользователям (т.е. всем). Проще говоря - впиши сюда пользователя которому хочешь делегировать эту базу, и она не будет отбражаться для user1 и user2.

Нет неразрешимых проблем, есть неприятные решения. (Э. Борн)

44 (изменено: next40, 2006-04-22 11:15:30)

Re: Настройка многопользовательского режима работы с БД

Хех там такой базы вообще нету sad

45

Re: Настройка многопользовательского режима работы с БД

next40
нет базы `mysql`? big_smile
хех, так заходи под рутом.

Нет неразрешимых проблем, есть неприятные решения. (Э. Борн)

46

Re: Настройка многопользовательского режима работы с БД

да мля в базе mysql->db нету записи о такой базе эта база стандартная в месте с мускулом установилась!!!
ее даже удалить нельзя

47

Re: Настройка многопользовательского режима работы с БД

next40

да мля

mad так без паники и матерков.

Нет неразрешимых проблем, есть неприятные решения. (Э. Борн)

48 (изменено: next40, 2006-04-22 15:37:10)

Re: Настройка многопользовательского режима работы с БД

сорри просто я уже запарился
могу дать тебе доступ сам посмотришь

49

Re: Настройка многопользовательского режима работы с БД

next40

сорри просто я уже запарился

Значит нужно перекурить, иначе перегоришь...

доступа мне не надо к чужим ресурсам. Доверие ценю, но считаю, что не стоит давать свои пассы первому знакомому, даже мне big_smile

Дело в том, что ты по всей видимости пользуешься MySQL-сервером выше 5.0, а у меня старый добрый 4.1.11. Кроме того, phpMyAdmin еще не гарантирует полностью совместимость скрипта с MySQL выше 5.0. Но я уверен, что это проблема возникла из-за phpMyAadmin-а:

Each MySQL user has the right to access these tables, but can see only the rows in the tables that correspond to objects for which the user has the proper access privileges.

Подробнее об information-schema (англ.)

Попробуй запустить mysqld c параметром --skip-information-schema

Нет неразрешимых проблем, есть неприятные решения. (Э. Борн)

50

Re: Настройка многопользовательского режима работы с БД

может это зависит от самого mysql ? у меня 5.0.19