Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ГОСЫ / Administrirovanie.doc
Скачиваний:
43
Добавлен:
15.02.2016
Размер:
150.02 Кб
Скачать

Задание паролей

В большинстве случаев для задания пользователей и их паролей следует пользоваться командой GRANT.

Не рекомендуется указывать пароль таким образом, чтобы его могли увидеть и подобрать другие пользователи. Используйте параметр -p или --password (без указания самого значения your_password). В этом случае программа mysql запрашивает пароль с терминала:

  • shell> mysql -u user_name -p

  • Enter password: ********

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

  • Можно хранить свой пароль в переменной окружения MYSQL_PWD, но этот метод считается небезопасным и не должен использоваться. В некоторых версиях ps (команда Linux) включена возможность отображать переменные окружения работающего процесса. Поэтому если задать свой пароль при помощи MYSQL_PWD, он будет виден для всех. Даже в системах без такой версии ps, неразумно предполагать, что не существует другого метода получить информацию по переменным окружения.

Исходя из всего сказанного выше, самыми безопасными методами указания пароля являются запрос программы клиента mysql на ввод пароля с терминала.

Таблицы db и host

Большинство привилегий для рядовых пользователей системы размещаются в этих таблицах. db определяет, какие пол-ли, к каким таблицам и из каких хостов могут получить доступ.

Эта таблица во многом похожа на user, основное отличие – вместо Password столбец Db. Совпадающие привилегии, уже присвоенные пользователю в user, перекрывают назначенные в db. Например, если пользователь имеет право INSERT, то он сможет выполнить эту операцию в отношении любой БД сервера, несмотря на запрет этой же операции в отношении какой-либо БД, указанной в таблице db.

host дополняет db: Пустое поле Host в db вынуждает MySQL искать запись, соответствующую имени узла пользователя, в таблице host. Если такой записи не найдено, сервер отказывает в доступе. Если соответствие найдено, то MySQL определяет права как пересечение прав, определяемых в db и host, то есть в обеих записях разрешение должно иметь значение Y, иначе – отказ.

host позволяет создать разрешения на межкомпьютерном уровне.

Таблицу host можно использовать еще для одной цели - для поддержки списка надежных серверов.

tables_priv

columns_priv

tables_priv и columns_priv уточняют данные, имеющиеся в db. Право на любую операцию сначала проверяется в db, затем в tables_priv и columns_priv. Операция разрешается, если одна из записей имеет значение Y. С помощью этих таблиц сужается область действия разрешений до уровня таблиц БД и даже столбцов таблицы.

Столбец Grantor в tables_priv хранит информацию о пользователе, который выдал привилегию текущему пользователю, в Timestamp хранится информация о дате и времени выдачи привилегии.

Соседние файлы в папке ГОСЫ