Nadawanie uprawnień użytkownikowi poleceniem GRANT

Stronę tą wyświetlono już: 29416 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.

Propozycje książek

Komentarze