Strona 1 z 1

phpmyadmin i uprawnienia kilku użytkowników

: 11 lipca 2009, 17:23
autor: cyryllo
Witam.
Mam zainstalowanego phpmyadmina. Mam kilku użytkowników na serwerze (domowym) i teraz chcę dać im możliwość aby każdy miał dostęp do phpmyadmina ale w taki sposób aby każdy z nich widział tylko swoje bazy. Czy ktoś wie jak to zrobić? Każda podpowiedź będzie cenna.
Pozdrawiam.

: 11 lipca 2009, 18:39
autor: ShinnRa
Przecież przy logowaniu do phpmyadmina podajesz login i hasło i jeśli to nie jest root to dany użytkownik będzie widział tylko swoją bazę/bazy do których ma dostęp...

: 11 lipca 2009, 20:06
autor: cyryllo
Na zainstalowanym świeżo phpmyadmin i dodaniu bazy. A następnie dodałem użytkownika wraz z bazą i jak się zaloguje to nie widzi innych baz ale jeśli nadam mu uprawnienia tworzenia nowych baz to już widzi inne bazy i tu mój problem.

: 11 lipca 2009, 22:56
autor: tomii
Rozwiązaniem może być nadanie uprawnień, tylko do baz zaczynających się od przedrostka "nazwaużytkownika_" wtedy użytkownik będzie wprawdzie widział że istnieją inne bazy ale nic na nich nie zrobi a będzie mógł sobie utworzyć bazy i je modyfikować(dowolna ilość baz o wspólnym przedrostku).

: 12 lipca 2009, 00:34
autor: cyryllo
Dobrze, tylko jak to zrobić? Jestem zielony bo dopiero co zacząłem takie rzeczy robić.

: 12 lipca 2009, 01:10
autor: ShinnRa
Coś w stylu

Kod: Zaznacz cały

GRANT ALL PRIVILEGES ON username_*.* TO 'username'@'localhost' IDENTIFIED BY 'password';

: 12 lipca 2009, 08:35
autor: tomii
W "Uprawnienia specyficzne dla baz danych" wpisz nazwaużytkownika\_%

: 14 lipca 2009, 22:34
autor: Upeed

Kod: Zaznacz cały

adduser nazwa_użytkownika
Aby założyć hasło:

Kod: Zaznacz cały

passwd nazwa_użytkownika
Nie zapomnij o uprawnieniach.

: 16 lipca 2009, 01:13
autor: WilK
cyryllo pisze:Na zainstalowanym świeżo phpmyadmin i dodaniu bazy. A następnie dodałem użytkownika wraz z bazą i jak się zaloguje to nie widzi innych baz ale jeśli nadam mu uprawnienia tworzenia nowych baz to już widzi inne bazy i tu mój problem.
Przede wszystkim jeśli to robisz, to nie dawaj mu uprawnienia "SHOW DATABASES" - wtedy będzie widział tylko bazy, w których ma jakieś uprawnienia. A jeśli dalej widzi, to znaczy, że ma w nich uprawnienia.

Co do uprawnień - jeśli nadajesz komuś uprawnienia globalne - czyli tam gdzie dodajesz użytkownika albo edytujesz użytkownika - są to uprawnienia odnoszące się do WSZYSTKICH baz danych, więc użytkownik będzie je widział mimo braku uprawnienia "SHOW DATABASES". W związku z tym musisz nadawać uprawnienia dla konkretnych baz danych (Uprawnienia specyficzne dla baz danych, poniżej uprawnień globalnych).

Z manuala MySQL http://dev.mysql.com/doc/refman/5.1/en/ ... -databases
The SHOW DATABASES privilege enables the account to see database names by issuing the SHOW DATABASE statement. Accounts that do not have this privilege see only databases for which they have some privileges, and cannot use the statement at all if the server was started with the --skip-show-database option. Note that any global privilege is a privilege for the database.