Re: GRANT - MySQL
Grzegorz - 15-02-2006 09:43
Mariusz Kruk <Mariusz.Kruk@epsilon.eu.org> napisał(a):
> To jest opis skrótowy a nie definicja składni. Zauważ, że nie zawiera on > także np. WITH GRANT_OPTION.
Zauważyłem. Ty natomiast zauważ, że WITH nie jest wymagane w składni.
> >Czyli jest wymagane jeszcze "TO", wiec robie tak: > >"GRANT ALL ON tabela.* TO ''" > >i to dziala?! Jest jednak maly problem, bo dodaje mi to uzytkownika > >("anonimowego") ''. > > No niesamowite po prostu.
Aż tak mnie to nie zastanowiło... ale wiesz, w pewnym sensie masz rację. Niesamowite.
> >Czy nie moge uzyc pierwszej skladni bez "TO", > >aby zmodyfikowac prawa do bazy? > > Nie, bo takiej składni nie ma.
Podsumowując, zawsze kiedy będę chciał zmodyfikować *tylko* uprawnienia bazy danych, bede mial dodawanego anonimowego usera (ew. jakiegos innego), zgodnie ze składnią ktora wymaga podania usera. Potem wystarczy, go *tylko* usunąć i juz wszystko jest OK. Taaa...
-- pozdrawiam, Grzegorz
-- Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
Mariusz Kruk - 15-02-2006 09:43
W dniu Tue, 14 Feb 2006 17:52:11 +0000 (UTC), osoba określana zwykle jako Grzegorz pozwoliła sobie popełnić co następuje: >> To jest opis skrótowy a nie definicja składni. Zauważ, że nie zawiera on >> także np. WITH GRANT_OPTION. >Zauważyłem. >Ty natomiast zauważ, że WITH nie jest wymagane w składni.
OK, to nie był może najszczęśliwszy przykład w tym sensie, że faktycznie WITH jest opcjonalne, ale miał Ci uzmysłowić, że to nie była _pełna definicja składni polecenia GRANT_.
>> >Czy nie moge uzyc pierwszej skladni bez "TO", >> >aby zmodyfikowac prawa do bazy? >> Nie, bo takiej składni nie ma. >Podsumowując, zawsze kiedy będę chciał zmodyfikować *tylko* uprawnienia bazy >danych, bede mial dodawanego anonimowego usera (ew. jakiegos innego), zgodnie >ze składnią ktora wymaga podania usera. Potem wystarczy, go *tylko* usunąć i >juz wszystko jest OK. Taaa...
Nie. Na bogów. Nie ma czegoś takiego jak "uprawnienia bazy danych". Są uprawnienia _użytkownika_ _do_ _obiektów_. Czy to tabel, czy całych baz; nieistotne. Przemyśl to jeszcze raz. Bo kombinujesz jak koń pod górkę i to na dodatek w sposób idiotyczny.
-- \------------------------/ Borg Moderator: The topic is irrelevant. You | Kruk@epsilon.eu.org | will be assimilated. | http://epsilon.eu.org/ | /------------------------\
Grzegorz - 16-02-2006 10:04
Mariusz Kruk <Mariusz.Kruk@epsilon.eu.org> napisał(a):
> Nie. Na bogów. > Nie ma czegoś takiego jak "uprawnienia bazy danych". > Są uprawnienia _użytkownika_ _do_ _obiektów_. Czy to tabel, czy całych baz; > nieistotne. > Przemyśl to jeszcze raz. Bo kombinujesz jak koń pod górkę i to na > dodatek w sposób idiotyczny. >
Echhhh, ok to jeszcze raz, bardzo powoli...
Mam zalozmy 100 uzytkownikow w bazie, kazdy ma swoja wlasna prywatna baze i jest tez jedna *wspolna baza* dla wszystkich. Kazdy uzytkownik ma ustawione haslo, aby bylo bezpiecznie (nie ma uzytkownika anonimowego ''). Teraz zalozmy, ze w tej wspolnej bazie chcialbym dodac np. mozliwosc INSERT'owania dla wszystkich uzytkownikow.
Wiec jak to moge wykonac? Jedynie tak:
GRANT INSERT ON wspolna TO '';
Teraz wszyscy moga sobie INSERT'owac, ale dodany zostaje takze uzytkownik anonimowy. Wiec kazdy uzytkownik systemowy (anonimowy) moze sie zalogowac do tej bazy i w niej namieszac.
Jedynie co mi wiec pozostaje, to usuniecie tego uzytkownika poprzez:
DELETE FROM mysql.user WHERE user='';
i tyle (zostal tylko odpowiedni wpis w mysql.db).
Ewentualnie moge klepac GRANT'a dla kazedgo usera z osobna 100 razy i problem znika. Mozna takze ustawic jakies "nieznane haslo" dla anonimowego przy GRANT i go nie usuwac. Niewazne.
Generalnie chodzilo o to, czy w MySQL mozna to wykonac, bez tworzenia usera. I tyle. Jesli chodzi o "kombinownie w sposob idiotyczny", to moze po prostu podaj mi lepszy "nie idiotyczny" sposob, aby to wykonac.
-- pozdrawiam, Grzegorz
-- Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
Mariusz Kruk - 16-02-2006 10:05
W dniu Wed, 15 Feb 2006 10:47:06 +0000 (UTC), osoba określana zwykle jako Grzegorz pozwoliła sobie popełnić co następuje: >> Nie. Na bogów. >> Nie ma czegoś takiego jak "uprawnienia bazy danych". >> Są uprawnienia _użytkownika_ _do_ _obiektów_. Czy to tabel, czy całych baz; >> nieistotne. >> Przemyśl to jeszcze raz. Bo kombinujesz jak koń pod górkę i to na >> dodatek w sposób idiotyczny. >Echhhh, ok to jeszcze raz, bardzo powoli... > >Mam zalozmy 100 uzytkownikow w bazie, kazdy ma swoja wlasna prywatna baze i >jest tez jedna *wspolna baza* dla wszystkich. >Kazdy uzytkownik ma ustawione haslo, aby bylo bezpiecznie (nie ma >uzytkownika anonimowego '').
I bardzo słusznie.
>Teraz zalozmy, ze w tej wspolnej bazie chcialbym dodac np. mozliwosc >INSERT'owania dla wszystkich uzytkownikow. > >Wiec jak to moge wykonac? >Jedynie tak: > >GRANT INSERT ON wspolna TO ''; > >Teraz wszyscy moga sobie INSERT'owac, ale dodany zostaje takze uzytkownik >anonimowy. Wiec kazdy uzytkownik systemowy (anonimowy) moze sie zalogowac do >tej bazy i w niej namieszac. > >Jedynie co mi wiec pozostaje, to usuniecie tego uzytkownika poprzez: > >DELETE FROM mysql.user WHERE user=''; > >i tyle (zostal tylko odpowiedni wpis w mysql.db). > >Ewentualnie moge klepac GRANT'a dla kazedgo usera z osobna 100 razy i >problem znika. Mozna takze ustawic jakies "nieznane haslo" dla anonimowego >przy GRANT i go nie usuwac. Niewazne. > >Generalnie chodzilo o to, czy w MySQL mozna to wykonac, bez tworzenia usera. >I tyle. Jesli chodzi o "kombinownie w sposob idiotyczny", to moze po prostu >podaj mi lepszy "nie idiotyczny" sposob, aby to wykonac.
Argh. Faktycznie, MySQL ma taki durny myk z użytkownikiem anonimowym. Przepraszam, nie spodziewałem się hiszpań^Waż tak beznadziejnego rozwiązania ze strony silnika.
-- \.\.\.\.\.\.\.\.\.\.\.\.\.\ Przy zderzeniu betonu z elektroniką ..\.Kruk@epsilon.eu.org.\.\. najczęściej wygrywa beton(Krzysztof Ziętara) \.http://epsilon.eu.org/\.\ ..\.\.\.\.\.\.\.\.\.\.\.\.\.
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
[mysql] =?ISO-8859-2?Q?Za=E6mienie=2E=2E=2E_jak_wy=B6wietli=E6?==?ISO-8859-2?Q?=2E=2E=2E?=
[mysql] =?ISO-8859-2?Q?wielko=B6=E6_bazy_a_stabilno=B6=E6=2C?==?ISO-8859-2?Q?_podzia=B3_du=BFej_bazy_a_powi=B1zania_tabel?=
[MySQL] =?ISO-8859-2?Q?Wy=B6wietlenie_kolejnej_pozycji=2C_?==?ISO-8859-2?Q?jak=B1_mia=B3by_dany_rekord=2C_gdybym_czyta=B3 _?==?ISO-8859-2?Q?wg_konkretnych_kryteri=F3w=2E_Da_si=EA_=3F?=
[mysql 4.0.x] przenoszenie kolum =?ISO-8859-2?Q?mi=EAdzy_bazam?==?ISO-8859-2?Q?i_cd_=2E=2E=2E_?=
[MySQL] =?ISO-8859-2?Q?z=B3=B1czenie_tabeli_u=BFytkownik_i?==?ISO-8859-2?Q?_zdj=EAcia_z_wyborem_zdj=EAcia_domy=B6lnego?=
Gdzie MySQL 4.1, a gdzie 5.0?
[MySQL 4.0...4.1] zabezpieczenie przed =?ISO-8859-2?Q?jednoczesn?==?ISO-8859-2?Q?=B1_edycj=B1?=
[MS SQL] "set names" (mySQL) w MS SQL
[mysql 5.x] jak =?ISO-8859-2?Q?zrealizowa=E6_zapytanie=3F_cz?==?ISO-8859-2?Q?yli_podzapytanie_i_wi=EAcej_ni=BF_jeden_rz=B1? ==?ISO-8859-2?Q?d_wynik=F3w?=
MySQL - jak =?ISO-8859-2?Q?wyeksportowa=E6_zawarto=B6=E6_wie?==?ISO-8859-2?Q?lkiej_tabeli?=
zanotowane.pldoc.pisz.plpdf.pisz.plnocnerozmowy.xlx.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|