Създаване на потребители и предоставяне на права за достъп

предоставяне

Четвъртото издание на популярното ръководство обхваща основите на Linux програмирането. Разгледани са следните теми: използване на C/C++ библиотеки и стандартни инструменти за разработка, организиране на системни извиквания, вход/изход на файлове, взаимодействие на процеса, програмиране на обвивки, създаване на графични потребителски интерфейси с помощта на GTK+ или Qt инструменти, използване на сокети и др. Описани са компилирането на програми, свързването им с библиотеки и работата с терминален вход/изход. Дадени са техники за писане на приложения в средите GNOME® и KDE®, съхраняване на данни с помощта на MySQL® DBMS и програми за отстраняване на грешки. Книгата е добре структурирана, което прави ученето лесно и бързо.

За начинаещи Linux програмисти

Книга: Основи на Linux програмирането

Създаване на потребители и предоставяне на права за достъп

Секции на тази страница:

Създаване на потребители и предоставяне на права за достъп

Като администратор на MySQL най-често ще трябва да поддържате потребители: да добавяте и премахвате потребители на MySQL RDBMS и да управлявате техните разрешения. Започвайки с MySQL 3.22, потребителските разрешения или разрешения се управляват в MySQL монитора с помощта на командите за предоставяне и отмяна, задача, която е много по-малко смущаваща от директната настройка на таблиците с разрешения, която се изискваше в по-ранните версии на MySQL.

Командата MySQL grant следва почти, макар и не напълно, синтаксиса на стандарта SQL92. Следният е общият формат:

предоставяне на [идентифициран чрез потребителска парола] [с опция за предоставяне];

В табл. 8.6 изброява няколко стойности на разрешения, които могат да бъдат предоставени.

Таблица 8.6

Стойност Описание
променямПромяна на таблици и индекси
създавамСъздаване на бази данни и таблици
ИзтрийИзтриване на данни от базата данни.
изпускайтеИзтриване на бази данни и таблици
индексУправление на индекси
вмъкнетеВмъкване на данни в база данни
заключващи масиПозволява да се заключват маси
изберетеИзвличане на данни
актуализацияПромяна на данни
всичкоВсички изброени

Някои разрешения имат допълнителни опции. Например създаване на изглед дава на потребителя правото да създава изгледи. За пълен списък с разрешения вижте документацията на MySQL за вашата версия на RDBMS, тъй като тази област се разширява с всяка нова версия на MySQL. Има и някои специални административни разрешения, но ние не ги разглеждаме тук.

Обектът, на който предоставяте тези права, се обозначава като

Ако посоченият потребител вече съществува, разрешенията се коригират въз основа на промените, които правите. Ако няма такъв потребител, той се създава с посочените права за достъп. Както видяхте, потребителите могат да бъдат дефинирани на конкретни компютри. Потребителят и компютърът трябва да бъдат посочени в една и съща команда, за да се възползвате напълно от гъвкавостта на схемата за разрешения на MySQL.

В синтаксиса на езика SQL специалният знак % е заместващ знак, в много отношения подобен на знака * в средата на обвивката. Можете да формирате отделни команди за всеки набор от разрешения, които желаете, но ако например искате да предоставите достъп на потребителя, рикнетевсеки компютър в домейна wiley.com, потребителят rick може да бъде описан като

Заместващият символ % винаги трябва да бъде ограден в кавички, за да се отдели от останалите текстови данни.

Точно както преди сте използвали описанието 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', разширявайки s се справят с всяка машина в мрежа от клас А.

В друг пример, командата

mysql>ПРЕДОСТАВЯЙТЕ ВСИЧКИ НА foo.* НА rick@'%' ИДЕНТИФИЦИРАНО ОТ 'bar';

създава потребителски rick с пълни права до базата данни foo за свързване от всяка машина с първоначалната лента за пароли.

Ако базата данни foo все още не съществува, потребителят на rick вече ще има правото да я създаде с помощта на SQL командата create database.

Ключовите думи IDENTIFIED BY не са задължителна част от командата, но е добра идея да се уверите, че всички потребители имат пароли, когато бъдат създадени.

Бъдете особено внимателни, когато работите с потребителски имена, имена на компютри или имена на бази данни, които съдържат долна черта, защото символът _ в SQL съвпада с всеки отделен знак по същия начин, по който символът % съвпада с всеки низ от знаци. Където е възможно, опитайте се да избягвате използването на знака за долна черта в потребителските имена и имената на бази данни.

Обикновено ключовите думи с опцията за предоставяне се използват само за създаване на спомагателен административен потребител, но те могат също да се използват, за да позволят на новосъздадения потребител да получи права за достъп, предоставени му от други.потребители. Винаги използвайте разумно ключовите думи с опция за безвъзмездна помощ.