51

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

next40

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

Я думаю, да. Я же тебе выше написал.

Написано там буквально следующее: "Каждый MySQL пользователь имеет права доступа к таблицам этой базы данных, но может видеть только те записи в таблицах, которые относятся к тем объектам (прим. адм. таблицам, базам даных), на которые пользователь имеет права".

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

52

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

Хочу всётаки решить проблему с показом системной базы это не дело....
перечитал доку сделал пользователя для переменной controluser
сохранил конфиг начинаю входить и не один логин с паролем не подходит не понимаю в чем дело сделал всё по документации , там даже описываеться возможная проблема с постоянным Access Denied ,но решения данной проблемы там не описывается ...
может кто знает?
И еще
$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]['controluser'] = 'pma';
$cfg['Servers'][$i]['controlpass'] = '';

в конфиге написал так....
может чего нить нехватает ?

53

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

next40
в своем конфиге попробуй задать значение переменной $cfg['Servers'][$i]['hide_db'] = 'information_schema';

Эта переменная скрывает указанные базы данных, но это скорее косметическое средство, и при определенно сноровке и пытливости юзверя он может все-таки посмотреть базу 'information_schema'. Но если принять во внимание, что увидит там только данные, касающиеся его баз, то это не критично.

В итоге конфиг твой может выглядеть примерно так:

<?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']='';
$cfg['Servers'][$i]['hide_db'] = 'information_schema'; 

/* End of servers configuration */
$cfg['blowfish_secret'] = 'secret_phrase';
?>

Подробнее о данной переменной читай здесь: $cfg['Servers'][$i]['hide_db']

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

54

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

Lokki, а у меня, PHPMyAdmin стоит у хостера. Версия 2.8.0.2
Я там сам на птичьих правах. Замутил сайт, теперь хочу передать все это дело юзерам, чтоб новости обновляли. Соответсявенно дать доступ, только к таблице news, и только на insert, update, delete. Вот...
Как мне это сделать? У меня без привилегий. Имею доступ к cpanel

55

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

[offtopic]Почему спрашиваешь только меня? Спрашивать следует весь форум, может кто-то еще выскажется по твоему вопросу, а так ты заведомо сужаешь круг отвечающих. В будущем, пожалуйста, обращайся ко всем участникам. А я и так вижу все вопросы и как только появляется время, отвечаю на те которые остаются без внимания окружающих.[/offtopic]

Как мне это сделать? У меня без привилегий. Имею доступ к cpanel

Ну птичьи права тебе не позволят задавать пользователям права, для этого тебе нужны как минимум права GRANT. wink

Однако, как мне кажется этот вопрос можно решить и без администраторских прав, написав скрипт для добавления новостей пользователями таким образом, чтобы использовался механизм авторизации (например, по кукам), который будет позволять определить принадлежность пользователя к той или иной группе, и в зависимости от этого предоставлять ему разые формы управления. Например суперадмин может править, удалять, создавать новости в любых разделах, а редакторы топика "Софт" только создавать, обновлять и удалять свои собственные новости и только в топике "Софт". Все это через mysql_query.

Но, ИМХО, это скорее не тематика данного топика, и даже не этого форума.

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

56

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

Хочу продолжить эту тему и спросить, может кто подскажет как убрать ссылки на изменения привилегий из главной страницы pma после входа одного из пользователей?

57

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

mamonoff
Снимите у этого пользователя привилегии в разделе администрирования, конкретно за выдачу прав отвечают: GRANT и CREATE USER.

58

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

У всех пользователей только привилегии уровня базы данных в части ДАННЫЕ и СТРУКТУРА. Глобальных ни у кого нет. И когда я захожу в pma под именем какого-нибудь пользоваьеля, отображается только его база, но есть ссылки на Привилегии, Перезагрузить привилегии и Выход. Если этот пользователь пытается изменить привилегии, ничего не получается. Вот я и хочу, чтобы ссылок не было видно, весь config.inc.php прошел, не нашел такой опции. Может есть еще соображения?

59

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

mamonoff
Совсем эта страница не убирается, таких настроек нет. Верно, что в ней нет смысла при отсутствии соответствующих прав у пользователя, но здесь можно только обратиться к разработчикам с предложением внести изменения.

60

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

Я еще раз проверил все привилегии. У меня были для каждого юзера SELECT на базу mysql таблицу user. Я думал, что при авторизации по http необходим был доступ для проверки логина и пароля. После того как я убрал эти привилегии, ссылки на изменение привилегий пропали. Так что если кто-то столкнется с такой проблемой, то знайте, никаких привилегий отдельно взятому пользователю не давайте на остальные базы (кроме тех, которые ему нужны для чего-либо.)

Осталось разобраться с кнопкой выход и можно сказать, мнопользовательский режим работы готов!!!

61

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

mamonoff
А что вы хотите сделать с кнопкой "Выход"? Она относится к куки авторизации и просто закрывает сессию.