1

Тема: Как ограничить доступ к базам данных?

На впс настроил хостинг сайтов (php+apach+mysql). Мне нужно дать доступ к хостингу для двух моих друзей, проблема в базах данных, не знаю как сделать так, чтоб каждый юзер имел доступ только к своим базам и не видел базы другого юзера. Где это настраивается? в пхп му админе или в другом месте?

2

Re: Как ограничить доступ к базам данных?

MoT9I
Это настраивается в phpMyAdmin на странице привилегий. Создайте базы данных, затем добавьте на странице привилегий пользователей и установите им доступ к необходимым базам данных, выберите права, которые должны быть делегированы пользователям на эти БД. Не выставляйте глобальные права, а только права уровня выбранной базы данных.

В некоторых случаях может быть удобно устанавливать права на базы данных по префиксу, в этом случае выбрав например префикс [mono]user_[/mono] можно установить необходимые права на уже существующие базы данных с префиксом [mono]user_[/mono] и те, которые будут с ним созданы.

3

Re: Как ограничить доступ к базам данных?

А у меня другой вопрос
У меня на компе есть веб сайты а также игровые сервера которые используют mysql и вот какой вопрос:
Хочу создать одного пользователя в Бд чтобы он имел доступ ко всем базам но с ограничеными возможностями тобиш чтобы если ктото узнает пароль и логин то не мог через phpMyAdmin и другим способом навредить базам данных?
как это все реализовать?

4

Re: Как ограничить доступ к базам данных?

viktor6
Создайте отдельного пользователя и наделите его только необходимыми привилегиями. Для простейших случае достаточно отметить SELECT, UPDATE, INSERT и DELETE (конкретные привилегии зависят от прав необходимых для выполнения скрипта). Можно ограничить доступ к критически важным данным определенных таблиц, то есть выставить особые права уровня таблицы, что тоже возможно.

5

Re: Как ограничить доступ к базам данных?

Hanut сказал:

viktor6
Создайте отдельного пользователя и наделите его только необходимыми привилегиями. Для простейших случае достаточно отметить SELECT, UPDATE, INSERT и DELETE (конкретные привилегии зависят от прав необходимых для выполнения скрипта). Можно ограничить доступ к критически важным данным определенных таблиц, то есть выставить особые права уровня таблицы, что тоже возможно.

А можно както этому пользователю запретить в phpMyAdmin что либо делать?

6

Re: Как ограничить доступ к базам данных?

viktor6
phpMyAdmin можно установить и на свой сайт, поэтому ограничить надо не доступ к phpMyAdmin, а именно уровень прав пользователя MySQL. Можно создать разные группы пользователей, которые устанавливать в зависимости от необходимости. Привилегии в MySQL настраиваются достаточно широко по своим возможностям.

Доступ к phpMyAdmin закройте с помощь .htaccess, что убережет данные БД от возможности подобрать пароль через доступ к phpMyAdmin.

7

Re: Как ограничить доступ к базам данных?

Hanut сказал:

viktor6
phpMyAdmin можно установить и на свой сайт, поэтому ограничить надо не доступ к phpMyAdmin, а именно уровень прав пользователя MySQL. Можно создать разные группы пользователей, которые устанавливать в зависимости от необходимости. Привилегии в MySQL настраиваются достаточно широко по своим возможностям.

Доступ к phpMyAdmin закройте с помощь .htaccess, что убережет данные БД от возможности подобрать пароль через доступ к phpMyAdmin.

Думал есть другое решения кроме .htaccess

8

Re: Как ограничить доступ к базам данных?

Если ограничить права пользователя MySQL нельзя, то можно только закрыть доступ к phpMyAdmin. Не знаю что еще можно придумать и зачем.

9

Re: Как ограничить доступ к базам данных?

Hanut
Хорошо как тогда закрыть доступ к phpMyAdmin ? файлом .htaccess или другим способом ?
если  .htaccess из таким содержанием

order allow deny
deny from all
allow from 192.126.12.199

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

10

Re: Как ограничить доступ к базам данных?

viktor6
Я имел в виду закрыть доступ вообще, с помощью .htpasswd и .htaccess. Это в том случае, если пользователю не нужен доступ к phpMyAdmin. Доступ к MySQL это никак не ограничит.

.htaccess будет примерно таким:

AuthType Basic
AuthName "Private Zone"
AuthUserFile /var/www/.htpasswd
require valid-user

И файл .htpasswd содержащий хеш пароля. Создается хеш пароля либо из командной строки, либо при наличии панели управления сайтом, через нее.