Маркетер
  • Маркетинг
  • Digital
  • Реклама
  • Public Relations
  • Менеджмент
  • Новости
  • Маркетинг
  • Digital
  • Реклама
  • Public Relations
  • Менеджмент
  • Новости
YouTube 154 Подписчики
Telegram 241 Подписчики
VK 0 Подписчиков
Маркетер
Маркетер
  • Маркетинг
  • Digital
  • Реклама
  • Public Relations
  • Менеджмент
  • Новости
  • Хостинг

Управление доступом к базам MySQL

  • 13.10.2004

Автор статьи: Александр Лозовюк

>

 

Управление доступом к базам MySQL
[разграничение прав доступа к базам и таблицам MySQL]материал подготовил: Александр Лозовюк
13.10.2004

 

Система управления базами данных MySQL очень часто применяется для хранения важной информации на веб-сайтах. Если это обычный сайт или форум — в базе могут храниться сообщения пользователей, данные для динамических страниц, данные о посещениях, если это какой-либо интерактивный сервис, то кроме данных про доступ (конфиденциальных), там хранится и другая информация о пользователе и его действиях. Все это приводит к тому, что общая безопасность сайта, вернее всей веб-системы, зависит от того, насколько защищен именно сервер базы данных.

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

   
Кроме сложностей с управлением несколькими сотнями таблиц в одной базе, вы столкнетесь с необходимостью ограничивать доступ разных пользователей к таблицам, базам и даже отдельным столбцам конкретной таблицы. спешим вас успокоить — разработчики СУБД MySQL уже позаботились о подобной ситуации — в MySQL есть очень гибкий и мощный механизм управления и разграничения доступа пользователей к базам и таблицам.

Работает этот механизм, естественно, через служебные таблицы. В списке баз данных есть одна служебная база под названием «mysql», в которой хранятся в нескольких таблицах все служебные данные, необходимые для работы сервера. Пока нас интересует только управление правами доступа, за которые отвечают следующие таблицы:

  • columns_priv — доступ на уровне столбцов таблицы;
  • db — доступ к отдельным базам данных;
  • host — доступ к базам с конкретных хостов/IP;
  • tables_priv — доступ к отдельным таблицам базы данных;
  • user — глобальные настройки доступа для конкретных пользователей.

    Давайте детально рассмотрим таблицу user и специфику работы с ней, работа же с остальными таблицами аналогична и не будет сложнее.

    Права, определяемые в таблице user, являются глобальными, это значит, что они применяются ко всем базам данных, к которым имеет доступ конкретных пользователь. Также в этой таблице хранятся сами имена пользователей и их пароли. Причем имена пользователей хранятся в виде открытого текста, а пароли зашифрованы функцией PASSWORD(). Сервер MySQL применяет свой метод шифрования вместо системного (если такая функция предоставляется ОС, к примеру, Linux/UNIX).

    Поскольку MySQL предназначена для работы через сеть, то к серверу могут подключаться клиенты с различных хостов. Поэтому в таблице привилегий есть столбец host, в котором можно задать конкретный компьютер, IP или диапазон адресов, с которых определенный пользователь (или все, любые пользователи) могут подключаться, или же им полностью запрещен доступ. К примеру, если ваш тестовый сервер находится в локальной сети, то можно выборочно разрешить доступ к нему с отдельных компьютеров, а для всех остальных полностью заблокировать доступ.

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

  • Алексей Волков

    Предыдущий материал
    • Маркетинг

    Как покупают мужчины и женщины

    • 22.09.2004
    • Алексей Волков
    Read More
    Следующий материал
    • Управление персоналом

    Don’t let my people go! (Ода разумной степени свободы персонала)

    • 25.10.2004
    • Алексей Волков
    Read More
    Вас также может заинтересовать
    Read More
    • Хостинг

    Платформы в облаках Amazon S3

    • jokar
    • 28.05.2011
    Read More
    • Хостинг

    Регистраторы доменных имен

    • Алексей Волков
    • 03.01.2010
    Read More
    • Хостинг

    Хороший хостинг для любых сайтов

    • Алексей Волков
    • 29.12.2009
    Read More
    • Хостинг

    Как я искал идеальный хостинг

    • Алексей Волков
    • 03.12.2009
    Read More
    • Хостинг

    Выбираем платный хостинг

    • Алексей Волков
    • 26.11.2009
    Read More
    • Хостинг

    Вэб-хостинг. Азы

    • Алексей Волков
    • 24.11.2009
    Read More
    • Хостинг

    Хороший хостинг и плохой. В чем разница

    • Алексей Волков
    • 22.11.2009
    Read More
    • Хостинг

    О хостинге

    • Алексей Волков
    • 19.11.2009

    Добавить комментарий

    Для отправки комментария вам необходимо авторизоваться.

    Свежие посты
    • Дайджест постов Сергея Людкевича
      • 12.09.24
    • Как юристы тормозят бизнес
      • 30.08.24
    • Продвижение оптовых кампаний в Яндекс Директ
      • 06.03.24
    • Cарафанное радио
      • 13.01.24
    • 5-55: История компании
      • 01.03.23
    Маркетер
    • О проекте
    • Информационное спонсорство
    • Рекламным агентствам
    • Ссылки
    (с) ООО "Маркетер". Официальный сайт. Маркетер: Статьи про рекламу, маркетинг, public relations, интернет

    Введите ключевые слова для поиска и нажмите Enter