Strona 1 z 2
Mysql prawa dostępu
: 16 lutego 2009, 18:56
autor: tomii
Witam serdecznie, temat pewnie łatwy ale jakoś nie mogę znaleźć odpowiedzi a czas mnie trochę nagli.
Zarządzam bazą mysql przez phpmyadmin, tam dodaje użytkowników ale czy da się ustawić tak aby użytkownik mógł sobie stworzyć bazy i usuwać ale żeby automatycznie miał uprawnienie do wykonywania wszystkich niezbędnych operacji (insert, update, delete, create table, deelte table ) ale tylko na swoich bazach? Można nadać prawa globalne ale wtedy dotyczą one wszystkich baz. Jak to rozwiązać?
: 17 lutego 2009, 00:37
autor: Raffaello22
Do takiego typu rzeczy masz instrukcję GRANT która ma wiele paramertów za pomoca których osiągniesz to co chcesz.
: 17 lutego 2009, 06:24
autor: tomii
Ale z tego co się orientuje to grant przyznaje uprawnienia globalne lub na konkretną bazę/tabelę.
Re: Mysql prawa dostępu
: 17 lutego 2009, 10:52
autor: Raffaello22
tomii pisze:ale żeby automatycznie miał uprawnienie do wykonywania wszystkich niezbędnych operacji (insert, update, delete, create table, deelte table ) ale tylko na swoich bazach? Można nadać prawa globalne ale wtedy dotyczą one wszystkich baz. Jak to rozwiązać?
Hmm, szczerze mówiać teraz do końca nie wiem o co chodzi
tomii pisze:Ale z tego co się orientuje to grant przyznaje uprawnienia globalne lub na konkretną bazę/tabelę.
Za pomocą Grant możesz dodać uprawnienia dla danego użytkownika dla danej tabeli. Jeżeli możesz rozwiń temat bo wydawało mi się że w pierwszym poście o to chodziło, co zresztą napisałeś w drugim

: 17 lutego 2009, 11:28
autor: tomii
Chcę umożliwić użytkownikowi aby mógł sam sobie tworzyć nowe bazy i żeby w tych swoich bazach i tylko w swoich miał prawa do dodawanie danych, usuwania i aktualizacji. Za pomocą grant mogę przyznać prawa do konkretnej bazy więc to by wyglądało tak że użytkownik sobie tworzy bazę, a ja mu muszę ręcznie nadać prawa (tak nie chce). Mogę też nadać prawa globalne ale wtedy użytkownik będzie miał prawa do wszystkich baz (tak też nie chcę). Chcę aby mógł sobie sam stworzyć bazę i żeby automatycznie do niej otrzymał prawa ale żeby nie miał uprawnień do baz innych użytkowników.
: 17 lutego 2009, 15:06
autor: Raffaello22
tomii pisze:Chcę umożliwić użytkownikowi aby mógł sam sobie tworzyć nowe bazy i żeby w tych swoich bazach i tylko w swoich miał prawa do dodawanie danych, usuwania i aktualizacji. Za pomocą grant mogę przyznać prawa do konkretnej bazy więc to by wyglądało tak że użytkownik sobie tworzy bazę, a ja mu muszę ręcznie nadać prawa (tak nie chce). Mogę też nadać prawa globalne ale wtedy użytkownik będzie miał prawa do wszystkich baz (tak też nie chcę). Chcę aby mógł sobie sam stworzyć bazę i żeby automatycznie do niej otrzymał prawa ale żeby nie miał uprawnień do baz innych użytkowników.
- Użytkownik tworzy bazę.
- Nadanie praw użytkownika do wcześniej stworzonej przez niego bazy.
Czyli po prostu zamiast jednej instrukcji tworzenia bazy, wystarczy dodać dwie. W drugiej instrukcja Grant ze wcześniejszymi danymi takimi jak nazwa użytkownika, nazwa bazy danych etc lub zawsze możesz napisać ,,trigger'', który będzie się automatycznie uruchamiał.
Czyli dodajesz użytkownika, uruchamia się ,,trigger'', który przypisuje mu odpowiednie prawa.
: 17 lutego 2009, 15:29
autor: tomii
Grant all privileges on wildcard name (username_%) załatwia sprawe.
: 20 lutego 2009, 10:01
autor: Yampress
po zalogowaniu do bazy
Kod: Zaznacz cały
mysql>grant all on baza_danych.* to user@localhost identified by 'hasło';
flush privileges;
: 20 lutego 2009, 10:09
autor: tomii
Ale to pozwala nadać uprawnienia do konkretnej bazy i za każdym razem musiałbym nadawać prawa dla każdej bazy którą sobie ktoś utworzy a moje polecenia nada z automatu uprawnienia.
: 20 lutego 2009, 10:15
autor: Yampress
tomii pisze:Ale to pozwala nadać uprawnienia do konkretnej bazy i za każdym razem musiałbym nadawać prawa dla każdej bazy którą sobie ktoś utworzy a moje polecenia nada z automatu uprawnienia.
ale wtedy nie ma już kontroli nad konkretnymi ustawieniami użytkownika do bazy. Nie wszyscy potrzebują wszystkich uprawnień, a należy im dawać te które są im do pracy potrzebne.