Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: phpMyAdmin 2.5.4 + ukrywanie baz po zalogowaniu
Forum PHP.pl > Forum > Bazy danych > MySQL
mateusch
Witam smile.gif
Mam mały problem z phpmyadmin i mysql... Po zalogowaniu się do phpmyadmin użytkownik widzi wszystkie bazy danych. Wejść jednak może tylko do swojej bazy i tylko tam moze cos "grzebać"

Czy ktoś może wie w jaki sposób zrobić aby wszystkie bazy (poza bazą danego użytkownika) były ukrywane na liście :?:

Pozdrawiam
JOHNY
Nic prostrzego musisz poprostu spod root dac uprawnienia gosciowi na konkretna baze danych smile.gif

spod konsoli wyglada to tak:
- takie rozwiazanie daje wszystkie uprawnienia userowi do jego bazy
GRANT ALL PRIVILEGES ON nazwa_bazy_usera.* TO
nazwa_usera@localhost IDENTIFIED BY 'haslo_usera';

- mozesz tez dac konkretne uprawnienia select, insert, update dla uzytkownika w tedy zamiast ALL PRIVILEGES piszesz:
GRANT SELECT,INSERT,UPDATE ON nazwa_bazy_usera.* TO
nazwa_usera@localhost IDENTIFIED BY 'haslo_usera';

To jeśli chodzi o konsole w phpmyadmin wyglada to podobnie

Wejdz jako root
Potem szukasz buttona Uprawnienia - wyswietli sie lisa uzytkownikow posiadajacych konto mysql potem edycja a reszte to sam ubczaisz bo wszystko pisze co i jak smile.gif

Narazie pozdrawiam
mateusch
Cytat
spod konsoli wyglada to tak:
- takie rozwiazanie daje wszystkie uprawnienia userowi do jego bazy
GRANT ALL PRIVILEGES ON nazwa_bazy_usera.* TO
nazwa_usera@localhost IDENTIFIED BY 'haslo_usera';

- mozesz tez dac konkretne uprawnienia select, insert, update dla uzytkownika w tedy zamiast ALL PRIVILEGES piszesz:
GRANT SELECT,INSERT,UPDATE ON nazwa_bazy_usera.* TO
nazwa_usera@localhost IDENTIFIED BY 'haslo_usera';



W tej chwili jest tak zrobione ze uzytkownik moze tylko dokonywać operacji na swojej bazie. Jak wchodzi na swoją bazę to pokazuje mu sie pusta baza. Nie może tam niczego dodawać.

Chodzi mi oto zeby uzytkownik nie widzal nie swoich baz.
Czy cos takiego do tego zadziała?
JOHNY
tak rozumiem rozwiązanie juz podałem biggrin.gif nazwa_bazy_usera.* to powoduje ze user bedzie widział tylko swoją baze biggrin.gif a jak bedzie *.* to będzie widział wszystkie smile.gif Jak bym miał fizyczny dostep do bazy to co innego ale jesli adminujesz mysql to sam musisz dojść co i jak najlepiej jak to zrobisz spod phpMyAdmin Powodzenia
mateusch
Nie wiem jak to ma byc...


Osoba ktora u mnie sie tym zajmuje nie wie gdzie to ma być ustawione sad.gif

On przesłał mi coś takiego :

Cytat
Użytkownik 'allegro'@'%'
Edycja uprawnień
Globalne uprawnienia
Uwaga: Uprawnienia MySQL są oznaczone w jęz. angielskim
Dane Struktura Administracja
SELECT CREATE GRANT
INSERT ALTER SUPER
UPDATE INDEX PROCESS
DELETE DROP RELOAD
FILE CREATE TEMPORARY TABLES SHUTDOWN
Ograniczenia zasobów
Uwaga: Ustawienie tych opcji na 0 (zero) usuwa ograniczenie.
MAX QUERIES PER HOUR
MAX UPDATES PER HOUR
MAX CONNECTIONS PER HOUR
SHOW DATABASES
LOCK TABLES
REFERENCES
EXECUTE
REPLICATION CLIENT
REPLICATION SLAVE


Uprawnienia specyficzne dla baz danych
Baza danych Uprawnienia Nadanie Uprawnienia specyficzne dla tabel
Działanie
allegro SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER Nie
Nie Edycja Cofnięcie





Czy moglbys powiedziec gdzie to powinno się ustawić??

Na serwerze jest MySQL 4.0.16 i phpmyadmin 2.5.4

Z góry dzięki za pomoc
JOHNY
No dziwne prowadzi ktos baze danych i nie wie gdzie się uprawnienia daje userom na konkretna baze biggrin.gif hehehe dobre

Edit 1:
Robisz tak jak jestes pod root
1. Uprawnienia
2. Pokaze sie lista userow - dajesz na edycje konkretnego usera
3. Pokaże sie to co wyżej podałeś:
a/ Uprawnienia globalne:
- odznaczasz wszystko zeby nie było ptaszka przy opcjach
b/ Uprawnienia specyficzne dla baz danych:
- tutaj w polu ponizej czyli:
Dodaj uprawnienia dla następującej bazy danych: [wybierasz baze z box-a] i dajesz WYKONANIE
4. Następni pokaże ci sie następna strona
a/ Na tej stronie zaznaczasz sobie uprawnienia do tej bazy biggrin.gif czyli:
Wszystkie w kolumnie DANE: albo jak chcesz to wszystkie uprawnienia i dajesz WYKONANIE

To by bylo na tyle biggrin.gif
uboottd
Cytat
Witam smile.gif
Czy ktoś może wie w jaki sposób zrobić aby wszystkie bazy (poza bazą danego użytkownika) były ukrywane na liście :?:
Pozdrawiam

opcja
--safe-show-database
najlepiej wpisac do my.cnf systemowego.

do poduszki: http://www.mysql.com/doc/en/Privileges_options.html
JOHNY
No też dobre rozwiązanko faktycznie biggrin.gif - no i ja też się czegoś nauczyłem biggrin.gif hehe
mateusch
Cytat
Edit 1:
Robisz tak jak jestes pod root
1. Uprawnienia
2. Pokaze sie lista userow - dajesz na edycje konkretnego usera
3. Pokaże sie to co wyżej podałeś:
a/ Uprawnienia globalne:
- odznaczasz wszystko zeby nie było ptaszka przy opcjach
b/ Uprawnienia specyficzne dla baz danych:
- tutaj w polu ponizej czyli:
Dodaj uprawnienia dla następującej bazy danych: [wybierasz baze z box-a] i dajesz WYKONANIE
4. Następni pokaże ci sie następna strona
a/ Na tej stronie zaznaczasz sobie uprawnienia do tej bazy biggrin.gif czyli:
Wszystkie w kolumnie DANE: albo jak chcesz to wszystkie uprawnienia i dajesz WYKONANIE

To by bylo na tyle biggrin.gif



Dzieki biggrin.gif

Dziala wszysciutko :-)
JOHNY
Nie ma sprawy polecam się na przyszłość. Jeśli chodzi o proste sprawy to będę pomagał odciąże trochę fachowców smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.