Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> tworzenie uzytkownikow
Zbłąkany
post
Post #1


Administrator serwera


Grupa: Developerzy
Postów: 521
Pomógł: 13
Dołączył: 2.04.2004
Skąd: 52°24' N 16°56' E

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


Pytanie moze banalne: czy mozna stworzyc skryptem php uzytkownika i nadac mu prawa do konkretnej bazy lub baz? jesli mozna to jak zmienic mu haslo?? i jeszcze jedno pytanie: jak moge zmienic haslo na roota?? zainstalowalem mysql i ustawilem w my.ini haslo ale serwermysql uparcie twierdzi ze haslo nie zawiera zadnych znakow i musze sie logowac z pustym haslem...


--------------------
Środowisko: Gentoo 2008.0 | Apache | PHP5 | PostgreSQL | MySQL | Postfix
Workstation: Gentoo 2008.0 | Firefox
Thomas Alva Edison: "Aby coś wynaleźć wystarczy odrobina wyobraźni i sterta złomu ..."
Odpowiedź na każde pytanie typu "Jak ...": "Nie da się, to nie PostgreSQL"
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
lukaswoj
post
Post #2





Grupa: Zarejestrowani
Postów: 136
Pomógł: 0
Dołączył: 2.01.2004
Skąd: Lublin

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


System uprawnień w MySQL'u jest odwzorowaniem zawartości tabel bazy danych o nazwie 'mysql' i tylko tutaj są trzymane informacje na temat, tego kto(login), skad (host), z jakim haslem i do czego (bazy danych a nawet pojedyncze tabele) ma dostęp.

Dodanie użytkownika do bazy MySQL poprzez php sprowadza się do wykonania zapytania SQL:
[sql:1:8c1b0ca5e4]
GRANT ALL PRIVILEGES ON nazwa_bazy.* to uzytkownik@localhost identified by 'haslohaslo';
[/sql:1:8c1b0ca5e4]

Powyższe zapytanie utworzy użytkownika o loginie "uzytkownik", który będzie mógł się łączyć tylko z "localhosta" (komputer na którym zainstalowana jest baza danych) i będzie on miał pełne prawa (modyfikacja tabel i poszczególnych rekordów) do wszystkich tabel ( "*" ) bazy danych o nazwie "nazwa_bazy".

Zauważ, że po wykonaniu tego polecenia, dodawane są do odpowiednich tabel w bazie "mysql" odpowiednie rekordy.

To polecenie i jego składnia, jest tak jakby interfejsem, który ułatwia korzystanie z systemu uprawnień.

Trzeba pamiętać, że po jakiejkolwiek zmienia uprawnień należy "przeładować uprawnienia" takim zapytaniem:
[sql:1:8c1b0ca5e4]
FLUSH PRIVILEGES;
[/sql:1:8c1b0ca5e4]

Jeśli chodzi o zmianę hasła to zauważ ze w bazie "mysql" w tabeli "users" istnieje pole "Password", więc chcąc zmienić hasło dla danego usera, powinieneś zidentyfikować jego rekord z tabeli "users" za pomocą nazwy użytkownika (pole "User") i hosta (pole "Host") i dla tego rekordu zmienić wartośc pola "Password". Zauważ, też że hasła w tym polu przechowywane są w postaci niejawnej, więc powinieneś przy ręcznej zmianie hasła przepuścić to hasło przez MySQL'ową funkcję PASSWORD(), przykład:
[sql:1:8c1b0ca5e4]
UPDATE users SET Password=PASSWORD('nowe haslo') WHERE User="nazwa_uzytkownika" AND Host="localhost';
[/sql:1:8c1b0ca5e4]

Zmianę hasła można też wykonać komendą dedykowaną (coś jak "GRANT" dla uprawnień), ale nie pamiętam jej smile.gif - zawsze robię to "ręcznie".

A tak swoją drogą to poszukaj jakichś kursów o SQL, napewno jest tam coś napisane o systemie uprawnień.

Myślę, że wyczerpałem temat, ale jak masz jakieś jeszcze pytania to wal śmiało.


--------------------
Pozdrawiam
Łukasz Wojciechowski
New Generation Software
+48 602 214 629
http://www.ngsoft.pl
Go to the top of the page
+Quote Post
Zbłąkany
post
Post #3


Administrator serwera


Grupa: Developerzy
Postów: 521
Pomógł: 13
Dołączył: 2.04.2004
Skąd: 52°24' N 16°56' E

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


dzieki jak cos jeszcze mi zabraknie to sie zapytam:)


--------------------
Środowisko: Gentoo 2008.0 | Apache | PHP5 | PostgreSQL | MySQL | Postfix
Workstation: Gentoo 2008.0 | Firefox
Thomas Alva Edison: "Aby coś wynaleźć wystarczy odrobina wyobraźni i sterta złomu ..."
Odpowiedź na każde pytanie typu "Jak ...": "Nie da się, to nie PostgreSQL"
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 Aktualny czas: 19.08.2025 - 05:32