Чтение онлайн

на главную - закладки

Жанры

Основы программирования в Linux
Шрифт:

В синтаксисе языка SQL специальный символ

%
— символ подстановки, во многом сходный, с символом
*
в среде командной оболочки. Вы можете формировать отдельные команды для каждого требуемого набора прав доступа, но если, например, вы хотите предоставить доступ пользователю rick с любого компьютера в домене wiley.com, пользователя rick можно описать как

rick@'%.wiley.com'

Символ подстановки

%
всегда следует заключать в кавычки для того, чтобы отделить его от остальных текстовых данных.

Вы также можете применять нотацию IP/Netmask (N.N.N.N/M.M.M.M),

задающую сетевой адрес для управления доступом.

Также, как раньше вы использовали описание

rick@'192.163.0.0/255.255.255.0'
для предоставления пользователю rick доступа с любого сетевого компьютера, можно задать
rick@'192.168.0.1'
для ограничения доступа пользователя rick единственной рабочей станцией или ввести
rick@'192.0.0.0/255.0.0.0'
, расширив область действия прав до любой машины в сети 192 класса А.

В еще одном примере команда

mysql> GRANT ALL ON foo.* TO rick@'%' IDENTIFIED BY 'bar';

создает пользователя rick с полным набором прав доступа к базе данных

foo
для подключения с любой машины с начальным паролем
bar
.

Если базы данных

foo
до сих пор не существует, у пользователя rick теперь появится право создать ее с помощью команды SQL
create database
.

Ключевые слова

IDENTIFIED BY
— не обязательная часть команды, но убедиться в том, что у всех пользователей во время их создания появляются пароли, совсем неплохо.

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

_
в языке SQL соответствует любому одиночному символу во многом так же, как знак
%
соответствует любой строке символов. Везде, где это возможно, старайтесь избегать использования символа подчеркивания в именах пользователей и баз данных.

Обычно ключевые слова

with grant option
применяются только для создания вспомогательного административного пользователя, но они также могут использоваться для разрешения вновь созданному пользователю получить права доступа, предоставляемые ему другими пользователями. Всегда применяйте ключевые слова
with grant option
обдуманно.

revoke

Естественно, администратор не может только предоставлять права, но также и лишает прав. Делается это с помощью команды

revoke
.

revoke <привилегия> on <объект> from <пользователь>

и с применением почти такого же формата, как в команде

grant
. Например:

mysql> REVOKE INSERT ON foo.* FROM rick@'%';

Но команда

revoke
не удаляет пользователей. Если вы хотите удалить пользователя окончательно, не просто измените его права доступа, а примените команду
revoke
для удаления его прав. Затем вы сможете полностью удалить его из таблицы пользователей
user
,
переключившись на внутреннюю базу данных
mysql
и удалив соответствующие строки из таблицы
user
.

mysql> use mysql

mysql> DELETE FROM user WHERE user = "rick"

mysql> FLUSH PRIVILEGES;

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

use
), иначе вы можете случайно продолжить работу с собственной внутренней базой данных MySQL.

Примечание

Имейте в виду, что команда

delete
не относится к группе команд
grant
и
revoke
. Синтаксис SQL делает ее применение необходимым из-за способа обработки прав доступа в MySQL. Вы напрямую обновляете таблицы прав доступа MySQL (поэтому первой применяется команда
use mysql
) для внесения нужных вам изменений эффективным способом.

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

FLUSH PRIVILEGES
, чтобы сообщить серверу MySQL о необходимости перезагрузки таблиц с правами доступа.

Пароли

Если вы хотите задать пароли для уже существующих пользователей, не имевших их до сих пор, или изменить собственный или чей-то пароль, следует подключиться к серверу MySQL как пользователь root и напрямую обновить данные пользователя. Например,

mysql> use mysql

mysql> SELECT host, user, password FROM user;

Вы должны получить перечень, похожий на следующий:

+-----------+------+------------------+

| host | user | password |

+-----------+------+------------------+

| localhost | root | 67457e226a1a15bd |

| localhost | foo | |

+-----------+------+------------------+

2 rows in set (0.00 sec)

Если вы хотите присвоить пароль bar пользователю foo, можно сделать следующее:

mysql> UPDATE user SET password = password('bar') WHERE user = 'foo';

Для проверки выведите снова соответствующие столбцы таблицы пользователей

user
:

mysql> SELECT host, user, password FROM user;

+-----------+------+------------------+

| host | user | password |

+-----------+------+------------------+

| localhost | root | 65457e236glalwbq |

| localhost | foo | 7c9e0a41222752fa |

+-----------+------+------------------+

Поделиться:
Популярные книги

Убивать чтобы жить 8

Бор Жорж
8. УЧЖ
Фантастика:
боевая фантастика
космическая фантастика
рпг
5.00
рейтинг книги
Убивать чтобы жить 8

Память

Буджолд Лоис Макмастер
10. Сага о Форкосиганах
Фантастика:
научная фантастика
9.41
рейтинг книги
Память

Я — Легион

Злобин Михаил
3. О чем молчат могилы
Фантастика:
боевая фантастика
7.88
рейтинг книги
Я — Легион

Кондотьер

Листратов Валерий
7. Ушедший Род
Фантастика:
фэнтези
боевая фантастика
аниме
попаданцы
5.00
рейтинг книги
Кондотьер

Как я строил магическую империю 15

Зубов Константин
15. Как я строил магическую империю
Фантастика:
попаданцы
аниме
фантастика: прочее
5.00
рейтинг книги
Как я строил магическую империю 15

Ненаглядная жена его светлости

Зика Натаэль
Любовные романы:
любовно-фантастические романы
6.23
рейтинг книги
Ненаглядная жена его светлости

Великий род

Сай Ярослав
3. Медорфенов
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Великий род

Личный аптекарь императора. Том 2

Карелин Сергей Витальевич
2. Личный аптекарь императора
Фантастика:
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Личный аптекарь императора. Том 2

Скаут

Башибузук Александр
1. Родезия
Фантастика:
попаданцы
альтернативная история
7.00
рейтинг книги
Скаут

Локки 5. Потомок бога

Решетов Евгений Валерьевич
5. Локки
Фантастика:
юмористическое фэнтези
аниме
фэнтези
5.00
рейтинг книги
Локки 5. Потомок бога

Эпоха Опустошителя. Том V

Павлов Вел
5. Вечное Ристалище
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Эпоха Опустошителя. Том V

Шайтан Иван 3

Тен Эдуард
3. Шайтан Иван
Фантастика:
попаданцы
альтернативная история
7.17
рейтинг книги
Шайтан Иван 3

Гримуар темного лорда V

Грехов Тимофей
5. Гримуар темного лорда
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Гримуар темного лорда V

Московский гость

Литов Михаил
Детективы:
прочие детективы
5.00
рейтинг книги
Московский гость