Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [mysql] problem z dodaniem usera
yacooh
post 4.09.2006, 21:13:27
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 29.08.2005

Ostrzeżenie: (0%)
-----


Czesc, mam baze o nazwie data, loguje sie do bazy na konto root i tworze usera takim oto kodem:
  1. mysql> GRANT ALL
  2. -> ON DATA.*
  3. -> TO fred IDENTIFIED BY 'fred'
  4. -> WITH GRANT OPTION;

uzytkownik tworzony jest poprawnie, moge sie nim logowac do bazy i robic rozne zapytania, ale nie moge z jego poziomu dodawac nowych uzytkownikow. Otrzymuje komunikat:
  1. ERROR 1410 (42000): You are NOT allowed TO CREATE a user WITH GRANT

Myslalem, ze przy tworzeniu usera fred wystarczy dodac ostatnia linijke jaka dodalem, zeby ten uzytkownik mogl dodawac nowych. Czy musze jeszcze dodawac jakies prawa dla uzytkownika fred w bazie mysql w tabeli user i db ?


PS. Dodam, ze wersja mysql to 5.0.22

ok, wiec moze napiszcie mi w jaki sposob Wy dodajecie userow z przywilejami dodawania nowych uzytkownikow smile.gif
Go to the top of the page
+Quote Post
SongoQ
post 4.09.2006, 22:42:12
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

Ostrzeżenie: (0%)
-----


Grant dla do zakladania userow to:

  1. GRANT CREATE USER ON * . * TO .......


A grant do pelnych praw to:

  1. GRANT ALL PRIVILEGES ON *.* TO .........


--------------------
Go to the top of the page
+Quote Post
yacooh
post 4.09.2006, 23:33:10
Post #3





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 29.08.2005

Ostrzeżenie: (0%)
-----


Wiec skoro ja dalem userowi wszystkie prawa (ALL) wiec posiada on takze prawa tworzenia nowego uzytkownika (CREATE USER), a ostatnia opcja powinna dawac mu mozliwosc nadawania praw nowo stworzonemu userowi. Tak niestety sie nie dzieje.

Byc moze ja czegos nie rozumiem i krece wiec jezeli mozesz to napisz mi kod, ktory stworzy mi usera FRED, majacego pelny dostep do bazy data i mogacego tworzyc nowych uzytkownikow i nadawac im prawa wylacznie do tabel z bazy data.

wychodzi na to, ze powinienem zrobic tak:
  1. mysql> GRANT ALL
  2. -> ON DATA.*
  3. -> TO fred IDENTIFIED BY 'fred'
  4. -> WITH GRANT OPTION;

nastepnie nadac fredowi uprawnienia do wykonywania INSERT na tabeli mysql:
  1. mysql> GRANT INSERT
  2. -> ON mysql.*
  3. -> TO fred IDENTIFIED BY 'fred'
  4. -> WITH GRANT OPTION;

i dopiero wtedy fred bedzie mogl nadawac uprawnienia i tworzyc nowych uzytkownikow. Tylko mam pytanie, czy tym kodem (konkretnie INSERT na mysql.*) nie dalem mu za duzych przywilejow? Moze trzeba je jakos jeszcze ukrocic ?

Ten post edytował yacooh 4.09.2006, 23:36:08
Go to the top of the page
+Quote Post
SongoQ
post 4.09.2006, 23:50:15
Post #4





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

Ostrzeżenie: (0%)
-----


Sprawdz takie cos:

  1. CREATE USER 'fred'@'%'


  1. GRANT CREATE USER ON * . * TO 'fred'@'%'


Sprawdzalem i dziala.


Cytat
Wiec skoro ja dalem userowi wszystkie prawa (ALL) wiec posiada on takze prawa tworzenia nowego uzytkownika


Zobacz jak w pierwszym poscie napisalem na pewno samo ALL questionmark.gif

Cytat
i dopiero wtedy fred bedzie mogl nadawac uprawnienia i tworzyc nowych uzytkownikow. Tylko mam pytanie, czy tym kodem (konkretnie INSERT na mysql.*) nie dalem mu za duzych przywilejow? Moze trzeba je jakos jeszcze ukrocic ?

Pisanie po tabeli mysql to glupota do tego sluzy grant i revoke


--------------------
Go to the top of the page
+Quote Post
yacooh
post 5.09.2006, 11:42:25
Post #5





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 29.08.2005

Ostrzeżenie: (0%)
-----


Cytat(SongoQ @ 4.09.2006, 22:50:15 ) *
  1. GRANT CREATE USER ON * . * TO 'fred'@'%'

czy w tej linijce nie jest powiedziane, ze fred bedzie mogl tworzyc nowych uzytkownikow dla wszystkich baz ? Mnie interesuje dostep do tylko jednej bazy smile.gif

Ten post edytował yacooh 5.09.2006, 11:43:01
Go to the top of the page
+Quote Post
yacooh
post 5.09.2006, 13:31:40
Post #6





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 29.08.2005

Ostrzeżenie: (0%)
-----


sprobuj tak:
  1. GRANT SELECT, CREATE, INSERT, MODIFY, DELETE ON dane.* TO 'tomek'@'localhost' IDENTIFIED BY 'haslo';
Go to the top of the page
+Quote Post
xyan
post 5.09.2006, 13:45:34
Post #7





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 8.07.2006

Ostrzeżenie: (0%)
-----


niestety, wywala mi 'You have an error in your SQL syntax; check the manual...'

ok, już działa wszystko...

pzdr

Ten post edytował xyan 5.09.2006, 14:07:03
Go to the top of the page
+Quote Post
yacooh
post 5.09.2006, 14:34:09
Post #8





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 29.08.2005

Ostrzeżenie: (0%)
-----


zrobilem w ten sposob:
  1. GRANT CREATE USER ON *.* TO 'fred'@'localhost' IDENTIFIED BY 'fred';
  2. GRANT ALL ON test.* TO 'fred'@'localhost' IDENTIFIED BY 'fred' WITH GRANT OPTION;
  3. FLUSH PRIVILEGES;

i wszystko zdaje sie dzialac smile.gif Dziekuje za odzew.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 17:22