Nadawanie uprawnień użytkownikowi poleceniem GRANT

Stronę tą wyświetlono już: 202 razy

Z poprzednich stron znane powinny być polecenia CREATE USER oraz SHOW GRANTS, pierwsze związane z dodaniem nowego użytkownika a drugie z wyświetlaniem jego uprawnień. Tym razem postaram się przybliżyć sposób, w jaki można nadawać danemu użytkownikowi uprawnienia, co jest możliwe jedynie z poziomu administratora mającego odpowiednie uprawnienia. Oto w jaki sposób można przypisać wcześniej stworzonemu użytkownikowi library łączącego się z hosta localhost wszystkie uprawnienia użytkownika dla bazy danych library oraz wszystkich tabel tejże bazy danych:

mysql> GRANT ALL ON library.* TO library@localhost;
Query OK, 0 rows affected (0.00 sec)

mysql>

Powyższe polecenie umożliwia używanie następujących poleceń na bazie danych library oraz wszystkich jego tabelach w tej bazie danych zawartych:

  • SELECT - umożliwia wyświetlanie zawartości bazy danych;
  • INSERT - umożliwia wstawianie nowych rekordów do tabel;
  • UPDATE - umożliwia uaktualnianie rekordów znajdujących się w tabelach;
  • DELETE - umożliwia usuwanie z tabeli istniejących rekordów;
  • INDEX - umożliwia tworzenie i usuwanie indeksów w tabelach;
  • ALTER - zmienianie struktury poszczególnych tabel poprzez dodawanie lub modyfikowanie nazwy i typu danych istniejących kolumn;
  • CREATE - umożliwia tworzenie tabel i baz danych. W przypadku użytkownika library tworzenie baz danych jest nie możliwe, no chyba że baza danych library zostanie usunięta, wtedy będzie można utworzyć tę bazę danych od nowa;
  • DROP - usuwanie baz lub tabel.

Powyższe uprawnienia należą do grupy uprawnień użytkownika. Słowo kluczowe ALL nadaje wszystkie wyżej wymienione uprawnienia danemu użytkownikowi. Oto zapis, który ma takie samo znaczenie co ten z powyższego zapytania:

Listing 1
  1. GRANT SELECT, INSERT, UPDATE, DELETE, INDEX, ALTER, CREATE, DROP ON library.* TO library@localhost;

Z powyższego kodu można wywnioskować, że uprawnienia można nadawać na wykonywanie określonych poleceń na określonych zasobach dostępnych w MySQL-u, a tymi zasobami są bazy danych oraz tabele w nich znajdujące się.

Uwaga! Przy nadawaniu uprawnień należy się kierować zasadą minimum uprawnień jakie są potrzebne do realizacji zadań, jakie dany użytkownik potrzebuje wykonać.

Istnieje jeszcze grupa uprawnień administratora.

Komentarze