Справочное руководство по MySQL версии 4.1.1-alpha



         

Глава 4.2.9 Управление доступом, этап 1: верификация подсоединения - часть 2


  • Поле Password может быть пустым. Это не означает, что в данном случае подходит любой пароль. Если поле пароля пусто, пользователь должен быть подсоединен без указания какого либо пароля.

    Непустые значения в поле Password представляют собой зашифрованные пароли. В MySQL пароли не хранятся в виде открытого текста, который может прочитать кто угодно. Напротив, пароль, который вводится пользователем при попытке подсоединения, шифруется (с помощью функции PASSWORD()). В дальнейшем зашифрованный пароль используется клиентом/сервером в процессе проверки его правильности (это делается вообще без пересылки пароля во время подсоединения). Заметим, что с MySQL считает зашифрованный пароль РЕАЛЬНЫМ паролем, поэтому не следует допускать к нему кого бы то ни было! В частности, не разрешайте обычным пользователям доступ для чтения к таблицам в базе mysql!

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

    таблицы user:

    Значение в поле Host Значение в поле User Подсоединения, которым соответствует запись

    'thomas.loc.gov' 'fred' fred, подключающийся с thomas.loc.gov

    'thomas.loc.gov' '' Любой пользователь, подключающийся с thomas.loc.gov

    '%' 'fred' fred, подключающийся с любого хоста

    '%' '' Любой пользователь, подключающийся с любого хоста

    '%.loc.gov' 'fred' fred, подключающийся с любого хоста, принадлежащего домену loc.gov

    'x.y.%' 'fred' fred, подключающийся с x.y.net, x.y.com,x.y.edu, и т.д. (это, по-видимому, бесполезный вариант)

    '144.155.166.177' 'fred' fred, подключающийся с хоста, имеющего IP-адрес 144.155.166.177

    '144.155.166.%' 'fred' fred, подключающийся с любого хоста в подсети 144.155.166 класса C

    '144.155.166.0/255.255.255.0' 'fred' То же самое, что и в предыдущем примере

    Поскольку в IP-адресе, указываемом в поле Host, могут использоваться шаблонные символы (например '144.155.166.%' - данное значение соответствует всем без исключения хостам указанной подсети), возникает опасность, что кто-нибудь может попытаться воспользоваться этой возможностью, указав имя хоста, например, как 144.155.166.somewhere.com. Чтобы ``поставить заслон'' таким попыткам, в MySQL не разрешены имена хостов, начинающиеся с цифр и точки. Другими словами, имени хоста типа 1.2.foo.com, никогда не найдется соответствия в столбцах Host таблиц привилегий. IP-адресу с шаблонными символами может соответствовать только IP-адрес.




    Содержание  Назад  Вперед