|
Программирование >> Программный интерфейс приложений
скольку позволяет минимизировать число команд, запущенных пользователем root): % chmod -R go-rwx % find . -follow -typ d -print ) xargs chmod go-rwx 4. Теперь права владения и режим содержимого каталога данных присвоены пользователю mysqladm. Осталось убедиться, что сервер отныне будет запускаться в качестве пользователя mysqladm, поскольку только этот пользователь имеет доступ к каталогу данных. Процедура запуска сервера в качестве нового пользователя (не root) детально описана в главе 11 , Общее администрирование MySQL . После выполнения всех описанных выще действий остается лишь убедиться в правильности установки полномочий для доступа к каталогу данных. % Is -1 total 10148 drwxrwxr-x drwxr-xr-x drwx------ drwxrwxr-x drwxrwxr-x drwxrwxr-x drwx------ 11 laysqladm mysqlgrp 1024 May 8 12:20 . 22 root wheel 512 May 8 13:31 .. 2 mysqladm mysqlgrp 512 Apr 16 15:57 menagerie 2 mysqladm mysqlgrp 512 Jan 25 20:43 mysql 7 mysqladm mysqlgrp 512 Aug 31 1998 sql-bench 2 mysqladm mysqlgrp 1536 May 6 06:11 test 2 mysqladm mysqlgrp 1024 May 8 18:43 tmp Внешняя безопасность: защита сетевого доступа Система безопасности MySQL достаточно гибка, поскольку позволяет настроить привилегии доступа пользователей множеством различных способов. Как правило, установка привилегий реализуется с помощью операторов GRANT и REVOKE, Которые изменяют таблицы разрешений, управляющие клиентским доступом. Некоторые администраторы, тем не менее, все еще используют старые версии MySQL, которые не поддерживают эти операторы (до версии MySQL 3,22.11). Иногда также администраторы замечают, что при установке с помощью операторов GRANT и REVOKE привилегии функционируют не так, как хотелось бы. В подобных ситуациях весьма полезным может оказаться знание таблиц разрешений MySQL и принципов использования их сервером для определения полномочий. Владеющий подобными знаниями администратор может добавлять, удалять или изменять привилегии пользователей посредством изменения собственно таблиц разрешений. Более того, исследование таблиц позволяет гораздо быстрей диагностировать проблемы, связанные с доступом. Автор предполагает, что читатель уже ознакомился с материалом раздела Управление пользовательскими учетными записями главы И, Общее администрирование MySQL , и разобрался в принципах работы операторов GRANT и REVOKE. Их Применение - удобный способ установки пользовательских учетных записей MySQL и связанных с ними привилегий. Хотя эти операторы являют собой лищь оболочку. Реальные действия выполняются в таблицах разрешений сервера MySQL. Структура и содержимое таблиц разрешений MySQL Управление доступом к базам данных MySQL для клиентов, подключившихся к серверу через сеть, осуществляется с помощью содержимого таблиц разрещений. Эти таблицы входят в состав базы данных mysql и инициализируются в процессе инсталляции MySQL на компьютере (процесс инсталляции детально описывается в приложении А, Получение и инсталляция программного обеспечения ). В табл. 12.1 и 12.2 представлено краткое описание структур пяти таблиц разрешений: user, db, host, tables priv и columns priv. Таблица 12.1. Структура таблиц разрешений user, db и host Столбцы области доступа user Host User Password Host User host Host Db Столбцы привилегий бвзы данных/таблицы Alter priv Create priv Delete priv Drop priv Index priv Insert priv References priv Select priv Update priv Alter priv Create priv Delete priv Drop priv Index priv Insert priv References priv Select priv Update priv Alter priv Create priv Delete priv Drop priv Index priv Insert priv References priv Select priv Update priv Окончание табл. 12.1 Столбцы административных привилегий File priv Grant priv Grant priv Grant priv Process priv Reload priv Shutdown priv Таблица 12.2. Структура таблиц привилегий tables priv и colvunns priv Столбцы области доступа
Таблицы разрешений содержат следуюшую информацию. user. Таблица user содержит список всех пользователей, которые могут подключаться к серверу, а также их пароли и все глобальные привилегии, если таковые применяются. Все указанные в этой таблице привилегии являются глобальными и применимы ко всем базам данных. Так, например, если активизировать в этой таблице привилегию DELETE, соответствуюший пользователь сможет удалить записи из любой таблицы. Следовательно, необходимо тщательно все обдумать, прежде чем присваивать такую привилегию. db. Таблица db содержит список всех баз данных и пользователей, обладающих полномочиями на доступ к ним. Определенные в этой таблице привилегии применимы ко всем таблицам соответствующей базы данных. host. Таблица host используется вместе с таблицей db и определяет привилегии доступа к базам данных определенного компью-
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |