PHP i MySQL: System przywilejów MySQL

opublikował: Artemis, 2014-03-09

Przywilejem w MySQL określamy prawo użytkownika do wykonywania pewnego polecenia na danym obiekcie. Dokonując rejestracji nowego użytkownika, należy nadać mu odpowiednie przywileje. Stosuje się wówczas zasadę najmniejszego przywileju. Należy ona do podstawowych zasad i ma za zadanie zwiększyć bezpieczeństwo określonego systemu komputerowego. Sprowadza ona się do następującego założenia, iż użytkownikowi (lub procesowi) powinny być przypisane jedynie te przywileje, które są mu niezbędne do wykonania powierzonych zadań. Zasada ta ma wszechstronne zastosowanie np. użytkownik root posiada znacznie szerszy zakres przywilejów niż zwykły użytkownik.

 

Polecenie GRANT, które stosowane jest do tworzenia użytkowników i nadawania im przywilejów, ma następującą składnię:

GRANT przywileje

ON obiekt

TO identyfikatorUzytkownika [ IDENTIFIED BY haslo]

[WITH GRANT OPTION]

Parametry:

  • przywileje – lista oddzielonych przecinkami przywilejów,
  • kolumny – opcjonalne wskazanie kolumn powiązanych z przywilejem kolumn,
  • obiekt – tabela lub baza danych, do której zostaną zastosowane przywileje; nadanie przywilejów na wszystkie bazy danych systemu poprzez przypisaną dla parametru obiekt wartość **.
  • identyfikatorUzytkownika – identyfikator, którym posługuje się użytkownik podczas logowania się do serwer MySQL,
  • haslo – haslo dostępu, którym posługuje się użytkownik podczas logowania do serwera,
  • WITH GRANT OPTION – umożliwia użytkownikowi nadawanie innym użytkownikom nadanych mu przywilejów.

 

Ochrona systemu stanowi kompromis między poziomem zabezpieczeń, a jego użytecznością. Zadaniem administratora jest podejmowanie decyzji o nadaniu odpowiednich przywilejów.

 

Polecenie REVOKE stanowi przeciwieństwo polecenia GRANT, tj. odbiera użytkownikowi określone przywileje. Jego składnia w znacznym stopniu przypomina polecenie GRANT:

REVOKE przywileje [kolumny]
ON obiekt
FROM identyfikator_uzytkownika

Odebranie nadanej poprzez GRANT opcji GRANT OPTION wykonać można następującym poleceniem:

REVOKE GRANT OPTION
ON obiekt
FROM identyfikator_uzytkownika