Смекни!
smekni.com

Методические указания к выполнению лабораторной работы №11 для студентов специальности 071900 “Информационные системы и технологии” Хабаровск (стр. 1 из 2)

Министерство образования Российской Федерации

Государственное образовательное учреждение высшего профессионального образования

“Хабаровский государственный технический университет”

АДМИНИСТРИРОВАНИЕ В ИНФОРМАЦИОННЫХ СЕТЯХ

ЛАБОРАТОРНАЯ РАБОТА № 11

Методические указания к выполнению лабораторной работы № 11

для студентов специальности 071900 “Информационные системы

и технологии”

Хабаровск

Издательство ХГТУ

2003


УДК 681.58:681.32

Администрирование в информационных сетях: Методические указания к выполнению лабораторной работы № 11 для студентов специальности 071900 «Информационные системы и технологии» / Сост. Г. К. Конопелько, Д. Г. Конопелько – Хабаровск: Изд-во Хабар. гос. техн. ун-та, 2003. – 12 с.

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

Печатается в соответствии с решениями кафедры "Автоматика и системотехника" и методического совета института информационных технологий.

© Издательство Хабаровского государственного технического университета, 2003

Администрирование сервера MySQL в Linux

Цель работы: научиться управлять сервером MySQL в ОС Linux.

Введение

Практическое задание выполняется в локальной сети на рабочей станции с операционной системой Linux версии 7 или более поздней.

Порядок выполнения лабораторной работы

1. Подготовка и допуск к работе

К выполнению лабораторной работы допускаются студенты, которые подготовились к работе и имеют не более двух невыполненных предыдущих заданий.

Перед работой студент должен:

· предъявить преподавателю полностью оформленный отчет о предыдущей работе;

· ответить на вопросы преподавателя.

К работе не допускаются студенты, которые не выполнили одно из вышеперечисленных требований.

2. Отчёт по работе должен содержать следующее:

- Текст задания.

- Перечень всех использованных в лабораторной работе команд и инструкций.

- Вывод по работе.

Общие сведения

Предоставление доступа к базам данных

СУБД MySQL использует специальную базу данных для предоставления прав доступа к своим базам данных. Эти права могут базироваться на именах серверов и/или пользователей и предоставляться для одной или нескольких баз данных

Пользовательские аккаунты могут быть снабжены паролями. При обращении к базе данных, пароль шифруется. Поэтому он не может быть перехвачен и использован посторонним (это мнение автора СУБД...).

СУБД MySQL имеет три таблицы, а именно:

База данных: mysql Таблица: db

Поле

Тип

Null

Ключ

Умолчание

Extra

Хост char(60) PRI
Db char(32) PRI
Пользователь char(16) PRI
Select_priv char(1) N
Insert_priv char(1) N
Update_priv char(1) N
Delete_priv char(1) N
Create_priv char(1) N
Drop_priv char(1) N

База данных: mysql Таблица: host

Поле Тип Null Ключ Умолчание Extra
Хост char(60) PRI
Db char(32) PRI
Select_priv char(1) N
Insert_priv char(1) N
Update_priv char(1) N
Delete_priv char(1) N
Create_priv char(1) N
Drop_priv char(1) N

База данных: mysql Таблица: user

Поле Тип Null Key Умолчание Extra
Хост char(60) PRI
Пользователь char(16) PRI
Пароль char(8)
Select_priv char(1) N
Insert_priv char(1) N
Update_priv char(1) N
Delete_priv char(1) N
Create_priv char(1) N
Drop_priv char(1) N
Reload_priv char(1) N
Shutdown_priv char(1) N
Process_priv char(1) N
File_priv char(1) N

Ниже приведен пример добавления новых пользователей:

$ mysql mysql mysql> INSERT INTO user VALUES ('%','monty',password('something'), -> 'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y'); mysql> INSERT INTO user (host,user,password) values('localhost','dummy',''); mysql> INSERT INTO user VALUES ('%','admin','','N','N','N','N','N','N','Y','N','Y','N'); mysql> quit $ mysqladmin reload

В результате добавлено три новых пользователя:

monty: Суперпользователь (администратор), должен использовать пароль, для работы с mysql.
dummy: Должен быть допущен к индивидуальной базе данных по таблице 'db '.
admin: Не нуждается в пароле, но разрешено выполнение только команд 'mysqladmin reload' and 'mysqladmin processlist'. Может быть допущен к индивидуальной базе данных через таблицу 'db'.

ВНИМАНИЕ! Вы ДОЛЖНЫ использовать функцию password() при создании пользователя, имеющего пароль. СУБД MySQL ожидает получить зашифрованный пароль.

Атрибуты, установленные в таблице пользователей перекрывают атрибуты, установленные в таблице DB. Если сервер поддерживает много баз данных, лучше создавать пользователей без прав доступа в таблице пользователей и назначать им права доступа к базе данных по таблице db.

Если Вы используете MIT threads package, обратите внимание, что имя localhost не будет работать, так как MIT threads package не поддерживает socket-подключения. Это означает, что Вы должны всегда определять ваш hostname (имя сервера) при подключении, даже если Вы работаете с одним и тем же сервером.

Следует помнить следующие правила при настройке прав доступа:

· Имя сервера и поля в таблице db могут содержать регулярные выражения языка SQL: символы % и _. В других полях использовать их нельзя.

· Имя сервера может быть доменным именем, именем localhost, IP адресом или SQL-выражением. Пустое поле "имя сервера" означает любой сервер.

· Поле db является именем базы данных или SQL-выражением.

· Пустое имя пользователя эквивалентно любому пользователю.

· Пустой пароль эквивалентен любому паролю. Вы можете создать суперпользователя (super-user) установив все права для него в 'Y' в таблице пользователей при создании этого аккаунта. Этот пользователь сможет делать что угодно, не считаясь со значениями, установленными в таблице DB!

· Таблица серверов проверяется только когда в таблице db поле "имя сервера" пустое.

· Все таблицы, по возможности, сортируются в порядке host-user-db:

Пользователь Сортируется по именам серверов и пользователей.
db Сортируется по именам серверов, пользователей и баз данных.
Сервер Сортируется по именам серверов и баз данных.

Начиная с версии 3.20.19 сервера введена одна особенность, которая исключает попытки вычислить, как данный пользователь обратится к данной базе данных. Допустим существование пользователя с именем Джо, который зарегистрирован так:

INSERT INTO user VALUES('%.external.domain.com','','','N','N','N', 'N','N','N','N','N','N','N');

Проверка таблицы баз данных будет выполнена для пользователя '' (пустое имя), а не для пользователя Джо, даже если пользователь Джо имеет запись в таблице доступа к базам данных (db таблице).

Создание пользовательских аккаунтов, вероятно, наиболее сложный аспект СУБД MySQL поэтому потребуется некоторое время, чтобы во всем разобраться. Использование программы mysqlaccess делает управление доступом несколько более ясным.

Вообще лучше избегать использования регулярных выражений SQL в полях имени сервера. Это упрощает отладку.

Для начала установите все поля "имя сервера" в '%' и очистите таблицу серверов. Как только все начнет нормально функционировать, можно начинать эксперименты с добавлением имен серверов в таблицу серверов в случае такой необходимости.

Если получено сообщение об ошибке 'Access denied', то скорее всего вы нормально связались с демоном mysqld, но ваша таблица пользователей имеет ошибки.