Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2014-07-20 01:38:42

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

[POSTGRESQL] Kilka pytań, uprawnienia i inne bzdurki?

Cześć

Postanowiłem się bliżej zaprzyjaźnić z Postgresem (obiektywne okoliczności), i mam kilka totalnie lamerskich pytań:

Status połączenia, w Mysql wystarczy:

Kod:

\s;

i daje wynik:

Kod:

MariaDB [(none)]> \s;
--------------
mysql  Ver 15.1 Distrib 5.5.38-MariaDB, for Linux (x86_64) using readline 6.2

Connection id:        1231
Current database:    
Current user:        root@localhost
SSL:            Cipher in use is DHE-RSA-AES256-SHA
Current pager:        /usr/bin/less
Using outfile:        ''
Using delimiter:    ;
Server:            MariaDB
Server version:        5.5.38-MariaDB Source distribution
Protocol version:    10
Connection:        Localhost via UNIX socket
Server characterset:    utf8
Db     characterset:    utf8
Client characterset:    utf8
Conn.  characterset:    utf8
UNIX socket:        /var/run/mysqld/mysqld.sock
Uptime:            4 hours 18 min 30 sec

A jak podobne sprawdzenie statusu połączenia zrealizować w Postgresql 9.x.

PhpPgAdmin-5.x - loguje się grzecznie, a przy kliknięciu na dowolny button powraca do okna logowania, jak sprawdzić, co mu dolega?
Na tym samym serwerze działa PhpMyAdmin - z nim nie ma żadnych istotnych problemów, także to raczej nie jest wina Nginxa czy Php-fpm.
To samo na FF i  Operze, także przeglądarki też nie.

Uprawnienia?
Wszystkie tutki wskazują na:

Kod:

GRANT ALL_PRIVILEGES on baza_danych TO 'pacjent';

Kod:

REVOKE ALL_PRIVILEGES on 'baza_danych' FROM 'pacjent';

mam nadzieję, że to prawidłowa metoda...?

Logowanie z szyfrowaniem SSl, to się ustawia  tylko w pliku [b]pg_hba.conf[/b], czy można też w bazie danych?
Mysql takie drobiazgi trzyma w bazie danych, dlatego można dla każdego pacjenta ustawić te drobiazgi z osobna.
Szczególnie interesuje mnie wymuszenie szyfrowania dla połączeń non-localhost,w Mysql robi się to tak:

Kod:

GRANT 'to i owo' ON 'baza_danych' TO 'pacjent'@'%' REQUIRE SSL;

albo certyfikatem x509:

Kod:

GRANT ALL PRIVILEGES ON test.* TO 'pacjet'@'%'
  IDENTIFIED BY 'hasełko' REQUIRE X509;

Czy lepiej:

Kod:

GRANT ALL PRIVILEGES ON test.* TO 'pacjent'@'%'
  IDENTIFIED BY 'goodsecret'
  REQUIRE SUBJECT '/C=PL/ST=Silesia/L=Katowice/
    O=<FIRMA>/
    CN=<jego_wysokość_prezio>';

i gotowe (skrypciarzom dziękujemy za uwagę xD).

Czy w Postgresie jest coś podobnego?

Jak ma ktoś porządne tutki o majstrowaniu z Postgresem, warte uwagi,
(powyżej poziomu sudo apt-get install postgresql-server ) to są mile widziane. xD

Pozdro
;-)

Ostatnio edytowany przez Jacekalex (2014-07-20 01:58:49)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#2  2014-07-20 08:24:38

  debianus_userus - Członek DUG

debianus_userus
Członek DUG
Skąd: Warszawa
Zarejestrowany: 2005-08-29
Serwis

Re: [POSTGRESQL] Kilka pytań, uprawnienia i inne bzdurki?

PostgreSQL fajna bazka :)

No więc jeśli chodzi o parametry z postgresql.conf

To listujemy je:

Kod:

psql -p <port>
show all

Jeśli chodzi o dokładne informacje o klastrze bazy (w postgresie baza standalone to takze cluster bazodanowy) danych to konsoli linuksa:

Kod:

pg_controldata

Co do szyfrowania poleczenia to tak - robi sie to w pg_hba.conf
Poprzez dodanie/zamienienie parametru trust na md5.

UWAGA: pg_md5 swego czasu generowal bledne hashe wiec lepiej odczytywac je z tableli pg_shadow.

Co do tutków to mam w robocie napisany jak zrobić:

PostgreSQL streaming replication + hot-stanby + pgpool-II (watchdog).
W poniedzialek moge Ci podeslac :)

Offline

 

#3  2014-07-20 13:10:07

  ethanak - Użytkownik

ethanak
Użytkownik
Skąd: Ungwenor
Zarejestrowany: 2010-07-19
Serwis

Re: [POSTGRESQL] Kilka pytań, uprawnienia i inne bzdurki?

@jacekalex:

Zapomniałeś napisac jedno - czy zaprzyjaźniasz się z Postgresem jako programista czy admin.
Bo jeśli programista... nie wiem z jakimi bazami do tej pory pracowałeś, ale jeśli z Oraclem to znajdziesz tam wiele wspólnego. Nie wspomnę tu o samym dialekcie SQL (np. INSERT ... RETURNING ...), możliwości więcej niż jednego pola serial (odpowiednika naszoklasowego autoincrement) czy pisania sobie triggerów w Twoim Ulubionym Języku Programowania (o ile pamiętam Perl?)

Jeśli admin... cóż, musisz przyjąć do wiadomości smętną prawdę: to co wiesz o naszejklasie nijak się ma do Postgresa. Może jakiś tam kawałeczek podobny znajdziesz... ale jedynie podobny, bo z tego podobieństwa za chwilę wyjdą różnice.

Dam Ci przykład:

Naszoklasowa baza danych istnieje sobie radośnie w przestrzeni naszej klasy, można sobie jakieś granty dawać albo zabierać.
Poztgresowa baza danych ma zawsze swojego właściciela - dokładnie jednego.

W naszejklasie możesz się połączyć z nasząklasą i się cieszyć.
W Postgresie musisz się połączyć z konkretną bazą danych, nie ma czegoś takiego jak "połączyłem się z postgresem".

W naszejklasie masz użytkowników 'kuciapa'@'localhost', 'kuciapa'@'127.0.0.1', 'kuciapa'@'192.168.0.1' i tak dalej. W rzeczywistości są to różni użytkownicy z różnymi uprawnieniami.
W Postgresie masz użytkownika kuciapa, a przez pg_hba regulujesz mu dostęp z różnych miejsc świata.

A najważniejsze:

PhpMyAdmin jest wspaniałym programem, przemyślanym, wygodnym, ogólnie pierwszym narzędziem które instalujesz na serwerze.
Konsola mysql wystarcza do odtworzenia bazy z dumpu, założenia z roota nowej bazy ew. (jak się od Ciebioe dzisiaj dowiedziałem) do sprawdzenia stanu połączenia.

PhpPgAdmin to taka zabawka, niespecjalnie używalna, i instalowanie jej na dzień dzisiejszy mija się z celem.
Konsola psql wystarcza do wszystkiego co chcesz zrobić włącznie z nauczeniem Postgresa śpiewać.

Polecam zapoznanie się z :

Kod:

man createuser
man dropuser
man createdb
man dropdb
man CREATE_DATABASE
man CREATE_USER

No i oczywiście sztandarowe:

Kod:

man psql

Zwróć uwagę na parametr -e - zobaczysz wtedy jakie dokładnie kwerendy są wykonywane. Przykładowo:

Kod:

createdb -e -U postgres -O kuciapka kuciapeczka

mało że założy Ci bazę o nazwie "kuciapeczka" z domyślnymi ustawieniami i właścicielem "kuciapka" (zakładam że user "kuciapka" nie ma uprawnień do zakładania baz danych i jako superuser musisz mu to zrobić) - to jeszcze wyświetli wszystkie kwerendy które zostały wykonane, aby takową bazę stworzyć.

To samo dotyczy psql.

Tak przy okazji - dużo można w gógielu znaleźć, czasem można trafić na artykuły podpisane nickiem "depesz" - jeśli taki znajdziesz warto przeczytać, bo to gość który wychował całe pokolenie polskich (i nie tylko) postgresiarzy (i ogólnie bazodanowców).

Przyjemnego postgresienia :)

Ostatnio edytowany przez ethanak (2014-07-20 13:13:18)


Nim mechaniczne larum zagrasz mi, kanalio,
głosząc nadejście Javy - śmiertelnego wroga!
[i]Zespół Adwokacki Dyskrecja[/i]

Offline

 

#4  2014-07-20 16:46:39

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: [POSTGRESQL] Kilka pytań, uprawnienia i inne bzdurki?

Zdecydowanie jako Admin, potrzebuje serwer Voip Freeswitch i XMPP Ejabberd wygonić do Postgresa.
Wcześniej wszystko chodziło przez ODBC z Mysql, ale zjebał się sterownik Myodbc, i powstała wspaniała okazja, żeby lepiej się zaprzyjaźnić z Postgresem. xD.
Niestety, z bliżej mi nieznanych (i trudnych do zlokalizowania) przyczyn zdechł PHPPGAdmin, muszę się certolić z uprawnianiami w PgAdmin3/Webmin/Konsola, i z tym chyba mnie zaraz szlag trafi.

W tej chwili mam taki numer, że co prawda użytkownik ejabberd jest właścicielem bazy ejabberd, ale tylko bazy, tabel już nie.

Kod:

                                      Lista baz danych
   Nazwa    | Właściciel | Kodowanie | Porównanie  |    Ctype    |    Uprawnienia dostępu    
------------+------------+-----------+-------------+-------------+---------------------------
 ejabberd   | ejabberd   | UTF8      | pl_PL.UTF-8 | pl_PL.UTF-8 |

I tyle może zrobić właściciel bazy ze swoją bazą:

Kod:

ejabberd=> select * from users;
ERROR:  permission denied for relation users

I jak to zwykle bywa, im więcej człowiek czyta o danym problemie, tym większy ma bajzel  w głowie, bo wszystkie tutki, jakie widzę ograniczają się do podstawowych podstaw opisujących podstawy podstaw, ale już kwestia uprawień jest tam opisana tak, ze co tutek to inna wspaniała recepta - wszystkie do dooopy.
Żeby było weselej, dotyczą domyślnej konfiguracji PGSQL z autoryzacją trust po localhoście, i sytuacją, kiedy praktycznie wszyscy do wszystkich baz mają dostęp.

W dodatku cały net pełny jest przepisów na PGSQL-8,x a ja mam 9.3 obecnie, co tym bardziej sprawy nie ułatwia.

Ostatnio edytowany przez Jacekalex (2014-07-20 17:01:55)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#5  2014-07-20 17:31:15

  ethanak - Użytkownik

ethanak
Użytkownik
Skąd: Ungwenor
Zarejestrowany: 2010-07-19
Serwis

Re: [POSTGRESQL] Kilka pytań, uprawnienia i inne bzdurki?

jeśli coś działa na 8.x (gdzie x>0) to będzie działać na 9.
jak się bawiłeś uprawnieniami to masz doskonałą okazję nauczyć się jak się odpsuwa zepsute bazy.
zaloguj sie jako postgres i daj granta na wszystko w tej bazie userowi ejabberd, powinno pomóc.
ewentualnie (stara dobra szkoła) zrób dumpa w sql, wywal z dumpa niepotrzebne granty, utwórz nową bazę i zaimportuj - sam wiesz że może być szybciej.


Nim mechaniczne larum zagrasz mi, kanalio,
głosząc nadejście Javy - śmiertelnego wroga!
[i]Zespół Adwokacki Dyskrecja[/i]

Offline

 

#6  2014-07-20 17:43:00

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: [POSTGRESQL] Kilka pytań, uprawnienia i inne bzdurki?

Spokojnie, potrzebuję jakiegoś wygodnego panelu do administrowania Postgresem.
Jak na razie, to tylko [url=http://search.cpan.org/dist/DBD-Pg/Pg.pm]ten[/url] jest bliski idealnej sprawności. xD

Jak na razie PhpPGAdmin wywala do logowania przy każdej akcji, PgAdmin3 jest jakiś trochę pokręcony, elegancko działa zarządzanie bazami w Webminie, ale jest dość siermiężne, i bardzo ubogie w możliwości.
Przy okazji, czy da się edytować uprawnienia poprzez bazę z uprawnieniami, jak w [b]mysql.users[/b].

Pytam, bo pamiętam moje początki z Mysqlem dawno temu, też często coś spartoliłem czy to w Phpmyadminie czy w konsoli, ale w bazie z uprawnieniami zawsze wszystko można  błyskawicznie naprawić.

Ostatnio edytowany przez Jacekalex (2014-07-20 18:00:29)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#7  2014-07-20 17:56:49

  debianus_userus - Członek DUG

debianus_userus
Członek DUG
Skąd: Warszawa
Zarejestrowany: 2005-08-29
Serwis

Re: [POSTGRESQL] Kilka pytań, uprawnienia i inne bzdurki?

[quote=Jacekalex]Zdecydowanie jako Admin, potrzebuje serwer Voip Freeswitch i XMPP Ejabberd wygonić do Postgresa.
Wcześniej wszystko chodziło przez ODBC z Mysql, ale zjebał się sterownik Myodbc, i powstała wspaniała okazja, żeby lepiej się zaprzyjaźnić z Postgresem. xD.
Niestety, z bliżej mi nieznanych (i trudnych do zlokalizowania) przyczyn zdechł PHPPGAdmin, muszę się certolić z uprawnianiami w PgAdmin3/Webmin/Konsola, i z tym chyba mnie zaraz szlag trafi.

W tej chwili mam taki numer, że co prawda użytkownik ejabberd jest właścicielem bazy ejabberd, ale tylko bazy, tabel już nie.

Kod:

                                      Lista baz danych
   Nazwa    | Właściciel | Kodowanie | Porównanie  |    Ctype    |    Uprawnienia dostępu    
------------+------------+-----------+-------------+-------------+---------------------------
 ejabberd   | ejabberd   | UTF8      | pl_PL.UTF-8 | pl_PL.UTF-8 |

I tyle może zrobić właściciel bazy ze swoją bazą:

Kod:

ejabberd=> select * from users;
ERROR:  permission denied for relation users

I jak to zwykle bywa, im więcej człowiek czyta o danym problemie, tym większy ma bajzel  w głowie, bo wszystkie tutki, jakie widzę ograniczają się do podstawowych podstaw opisujących podstawy podstaw, ale już kwestia uprawień jest tam opisana tak, ze co tutek to inna wspaniała recepta - wszystkie do dooopy.
Żeby było weselej, dotyczą domyślnej konfiguracji PGSQL z autoryzacją trust po localhoście, i sytuacją, kiedy praktycznie wszyscy do wszystkich baz mają dostęp.

W dodatku cały net pełny jest przepisów na PGSQL-8,x a ja mam 9.3 obecnie, co tym bardziej sprawy nie ułatwia.[/quote]
Zapodaj to:

Kod:

GRANT ALL PRIVILEGES ON TABLE moja_tabela TO ejabberd;

pgadmin-III i psql są OK reszta jest psu na budę.

Ostatnio edytowany przez debianus_userus (2014-07-20 17:57:45)

Offline

 

#8  2014-07-20 18:05:39

  ethanak - Użytkownik

ethanak
Użytkownik
Skąd: Ungwenor
Zarejestrowany: 2010-07-19
Serwis

Re: [POSTGRESQL] Kilka pytań, uprawnienia i inne bzdurki?

powtarzam: psql to podstawowe narzędzie. żadne phpowe wynalazki ani klikane klikadła.
masz zestaw poleceń do administrowania postgresem (chyba mniej niż 10) - siadaj i się ucz. do tego co pisałem wcześniej masz pg_dump, pg_dumpall i pg_restore...


Nim mechaniczne larum zagrasz mi, kanalio,
głosząc nadejście Javy - śmiertelnego wroga!
[i]Zespół Adwokacki Dyskrecja[/i]

Offline

 

#9  2014-07-20 18:11:45

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: [POSTGRESQL] Kilka pytań, uprawnienia i inne bzdurki?

Zapodaj to:


pgadmin-III i psql są OK reszta jest psu na budę.[/quote]
Przy 30 tabelach po jednej?
Nie da rady zrobić akcji w typie:

Kod:

GRANT ALL PRIVILEGES ON ALL TABLE IN ejabberd  TO ejabberd;

???????????????

W tym strasznym, okropnym i lamerskim  Mysqlu to 60 sekund bardzo ciężkiego mieszania herbaty i parę ruchów myszką, albo jednego poleconka GRANT, i wszystko działa, bo GRANT na bazę jest dziedziczony na wszystkie elementy składowe bazy.

Natomiast tutki do Postgresa poznaje po tym, że temat uprawnień do baz jest tam tak ujęty, jakby w ogóle nie istniał.
Tymczasem Postgres, jeśli ma być serwerem dostępnym w Necie, i działać z usługami w necie, to musi być skonfigurowany równie starannie, jak Mysql, bez żadnych trust w pg_hba.

Zwłaszcza, ze ma jeszcze wystawić port 5432 do replikacji i zdalnego dostępu, ale to już najmniejszy problem, pg_hba trudne nie jest, choć o certach SSL klienta (certy X509 lub PKCS12) w dokumentacji nic konkretnego nie widziałem na razie, a po wpisaniu cert zamiast md5 w pg_hba.conf Posgres u mnie nie wstaje w ogóle.

Żeby zrozumieć, dlaczego ponad 75% skryptów typu forum, sklepów internetowych i CMSów bazuje na Mysql, to trzeba się ze dwa dni pobawić Postgresem. xD

Pozdro
;-)

Ostatnio edytowany przez Jacekalex (2014-07-20 18:13:56)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#10  2014-07-20 18:23:13

  ethanak - Użytkownik

ethanak
Użytkownik
Skąd: Ungwenor
Zarejestrowany: 2010-07-19
Serwis

Re: [POSTGRESQL] Kilka pytań, uprawnienia i inne bzdurki?

da się.
jest taka strona postgresql.org i tam jest dokumentacja.
btw. admin który przez 60 sekund musiałby ruszać myszą żeby dać userowi granta na wszystko chyba następnego dnia stałby w kolejce na bezrobociu.
nie mam teraz kompa przed nosem, nie będę się wydurniał z pisaniem z komórki bo i literówkę mogę zrobić, i składni jakiegoś rzadko używanego polecenia mogę nie pamiętać. albo znajdziesz sobie w dokumentacji - albo napisz ok. 2 w nocy, powinienem być już trzeźwy i świeży przy kompie.


Nim mechaniczne larum zagrasz mi, kanalio,
głosząc nadejście Javy - śmiertelnego wroga!
[i]Zespół Adwokacki Dyskrecja[/i]

Offline

 

#11  2014-07-20 18:23:54

  debianus_userus - Członek DUG

debianus_userus
Członek DUG
Skąd: Warszawa
Zarejestrowany: 2005-08-29
Serwis

Re: [POSTGRESQL] Kilka pytań, uprawnienia i inne bzdurki?

Zobacz czy to pójdzie ??

Kod:

GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO ejabberd;

http://www.postgresql.org/docs/9.3/static/ddl-schemas.html

Piszę z głowy bo nie mam postgresa pod ręką.

Ostatnio edytowany przez debianus_userus (2014-07-20 18:25:13)

Offline

 

#12  2014-07-20 19:00:46

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: [POSTGRESQL] Kilka pytań, uprawnienia i inne bzdurki?

Weszło czysto:

Kod:

postgres=# GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO ejabberd;
GRANT
postgres=# \l
                                      Lista baz danych
   Nazwa    | Właściciel | Kodowanie | Porównanie  |    Ctype    |    Uprawnienia dostępu    
------------+------------+-----------+-------------+-------------+---------------------------
 ejabberd   | ejabberd   | UTF8      | pl_PL.UTF-8 | pl_PL.UTF-8 |

Kiedy próbowałem tego wcześniej (trafiłem na powyższy sznurek)
to nie działało.
Przy okazji znalazłem przyczynę błędu:
jak importowałem schemat ejabberd.sql w Webminie, to ejabberd nie miał do niego dostępu.
Kiedy założyłem bazę od nowa, ale zaimportowałem w konsoli schemat.sql logujac się jako ejabberd, to pacjent ejabberd ma prawo do tablic.

Żeby na to wpaść, musiałem odpalić Freeswitcha z opcją "PostreSQL in the Core" - on sobie sam automatycznie tworzy bazę i tabele,
i uprawnienia miał prawidłowe.

Co w niczym nie zmienia faktu, że Postgresa mam jak na razie po dziurki od nosa.
Może jest i wspaniały, ale znacznie słabiej dopracowany, niż Mysql.
Przykład?

Zmieniłem mu lokalizację socketu UNIX na /var/run/postgresql93.sock - restart, i lsof nie widzi, żeby na tym sockecie cokolwiek wisiało, psgl nie może się połaczyć, bo socketu szuka w [b]/run/postgresql/./.s.PGSQL.5432.sock[/b] - krótko pisząc, cyrk na kołkach, którego w Mysqlu nigdy w życiu nie widziałem.

Dlaczego psql nie czyta konfigu postgresa?
Diabli wiedzą.

Ostatnio edytowany przez Jacekalex (2014-07-20 21:00:00)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#13  2014-07-20 19:15:49

  ethanak - Użytkownik

ethanak
Użytkownik
Skąd: Ungwenor
Zarejestrowany: 2010-07-19
Serwis

Re: [POSTGRESQL] Kilka pytań, uprawnienia i inne bzdurki?

psql nie ma czytać konfigów tylko łączyć się z serwerem.
przestań zachowywać się jak windziarz.
linux jest inny niż wundiws - ergo jest gorszy.
postgres jest inny niż naszaklasa - ergo jest gorszy.
to samo pewnie powiesz o oraclu czy mssql?
po kim jak po kim - ale po Tobie takich tekstów się nie spodziewałem.


Nim mechaniczne larum zagrasz mi, kanalio,
głosząc nadejście Javy - śmiertelnego wroga!
[i]Zespół Adwokacki Dyskrecja[/i]

Offline

 

#14  2014-07-20 19:29:52

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: [POSTGRESQL] Kilka pytań, uprawnienia i inne bzdurki?

[quote=ethanak]psql nie ma czytać konfigów tylko łączyć się z serwerem.
przestań zachowywać się jak windziarz.
linux jest inny niż wundiws - ergo jest gorszy.
postgres jest inny niż naszaklasa - ergo jest gorszy.
to samo pewnie powiesz o oraclu czy mssql?
po kim jak po kim - ale po Tobie takich tekstów się nie spodziewałem.[/quote]
Przesadzasz, jak zwykle.

Ja na reszcie obczaiłem, o co biega z tymi uprawnieniami, pierwsza zasada, tabele musi robić właściciel bazy, druga zasada, nikt nie wie, jak to zmienić.
Z innymi kwestiami konfiguracyjnymi  Postgresa zaczynam sobie radzić,
choć muszę przyznać, ze dokumentacja jest znacznie bardziej ogólnikowa, niż dokumentacja Mysqla pozostała w spadku po Sunie.

Wyczaiłem też, jak uprawnienia konfigurować w PgAdmin3.
Co bynajmniej nie oznacza, że rozumiem logikę działania uprawnień w Postgresie, ale na to jeszcze przyjdzie czas.

Pozdro

Ostatnio edytowany przez Jacekalex (2018-03-05 15:05:52)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#15  2014-07-20 19:36:09

  ethanak - Użytkownik

ethanak
Użytkownik
Skąd: Ungwenor
Zarejestrowany: 2010-07-19
Serwis

Re: [POSTGRESQL] Kilka pytań, uprawnienia i inne bzdurki?

wciórności, nie wypowiem, kumie Barbaronie...
masz takiego śmiesznego postgresa gdzie nie ma alter table?
nie przesadzam.


Nim mechaniczne larum zagrasz mi, kanalio,
głosząc nadejście Javy - śmiertelnego wroga!
[i]Zespół Adwokacki Dyskrecja[/i]

Offline

 

#16  2014-07-20 20:28:04

  debianus_userus - Członek DUG

debianus_userus
Członek DUG
Skąd: Warszawa
Zarejestrowany: 2005-08-29
Serwis

Re: [POSTGRESQL] Kilka pytań, uprawnienia i inne bzdurki?

[quote=Jacekalex]Przykład?

Zmieniłem mu lokalizację socketu UNIX na /var/run/postgresql93.sock - restart, i lsof nie widzi, żeby na tym sockecie cokolwiek wisiało, psgl nie może się połaczyć, bo socketu szuka w [b]/run/postgresql/./.s.PGSQL.5432.sock[/b] - krótko pisząc, cyrk na kołkach, którego w Mysqlu nigdy w życiu nie widziałem.

Dlaczego psql nie czyta konfigu postgresa?
Diabli wiedzą.[/quote]
Okropne masz te problemy :-)

Zadam głupie pytanie - nadałeś odpowiednie uprawnienia dla [b]/var/run/postgresql93.sock[/b] ?

Restart zrob:

Kod:

pg_ctl -D /path/do/bazy stop

i dalej

Kod:

pg_ctl -D /path/do/bazy start

Offline

 

#17  2014-07-20 20:28:16

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: [POSTGRESQL] Kilka pytań, uprawnienia i inne bzdurki?

ALTER TABLE jest, ale ani ten Postgres, ani autor postu powyżej nie podpowiedzieli, jak się tego używa w kontekście np uprawień.
Wiem tylko, jak się przy pomocy tej funkcji zmienia hasła w Postgresie.


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#18  2014-07-20 20:35:40

  ethanak - Użytkownik

ethanak
Użytkownik
Skąd: Ungwenor
Zarejestrowany: 2010-07-19
Serwis

Re: [POSTGRESQL] Kilka pytań, uprawnienia i inne bzdurki?

No kur...
Rozumiem że masz pluszowego misia i musisz go przytulać. Niestety, czasem trzeba wydorośleć.

Witamy w świecie profesjonalnych baz danych.


Nim mechaniczne larum zagrasz mi, kanalio,
głosząc nadejście Javy - śmiertelnego wroga!
[i]Zespół Adwokacki Dyskrecja[/i]

Offline

 

#19  2014-07-20 20:47:37

  debianus_userus - Członek DUG

debianus_userus
Członek DUG
Skąd: Warszawa
Zarejestrowany: 2005-08-29
Serwis

Re: [POSTGRESQL] Kilka pytań, uprawnienia i inne bzdurki?

[quote=Jacekalex]ALTER TABLE jest, ale ani ten Postgres, ani autor postu powyżej nie podpowiedzieli, jak się tego używa w kontekście np uprawień.
Wiem tylko, jak się przy pomocy tej funkcji zmienia hasła w Postgresie.[/quote]
Zobacz tu:

http://www.postgresql.org/docs/9.3/static/sql-alterdefaultprivileges.html

Offline

 

#20  2014-07-20 20:50:23

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: [POSTGRESQL] Kilka pytań, uprawnienia i inne bzdurki?

Oj tam, zaraz "profesjonalnych baz danych".
Baza, jak baza, serwer jak serwer, może od strony administracyjnej wygląda trochę lepiej od Firebirda, ale gorzej od Mysqla/Mariadb/Percona.
Wiem, że programiści go chwalą, za jego doskonałość, ale w różnych bajkach fanboyów takiego czy innego rozwiązania więcej jest religii, niż faktów.

Z samego Postgresa widzę, ze za tydzień u mnie będzie chodził tak, jak ma chodzić, i jak od lat chodzi MariaDB (taka lamerska baza danych, która nie nadaje się w ogóle do żadnych profesjonalnych zastosowań, dlatego poza kioskiem pani Zosi, używają go tylko takie dziadostwa, jak Google i Wikipedia ), :D

Dlatego nie ma go co porównywać z takimi pro-serwerami, jak Firebird i Postgres, bo na nich to można czasem nawet Podatkową Książkę Przychodów i Rozchodów  wielkiej rodzinnej firmy prowadzić. xD

Pozdro
;-)

___
[quote=debianus_userus][quote=Jacekalex]ALTER TABLE jest, ale ani ten Postgres, ani autor postu powyżej nie podpowiedzieli, jak się tego używa w kontekście np uprawień.
Wiem tylko, jak się przy pomocy tej funkcji zmienia hasła w Postgresie.[/quote]
Zobacz tu:

http://www.postgresql.org/docs/9.3/static/sql-alterdefaultprivileges.html[/quote]
Dzięki, to już wygląda nie najgorzej, będzie sobie trzeba troszkę notatek na ten temat zrobić. :D

Na razie baza chodzi, teraz się biorę za certyfikaty x509.

Ostatnio edytowany przez Jacekalex (2014-07-20 20:51:00)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#21  2014-07-20 20:55:48

  ethanak - Użytkownik

ethanak
Użytkownik
Skąd: Ungwenor
Zarejestrowany: 2010-07-19
Serwis

Re: [POSTGRESQL] Kilka pytań, uprawnienia i inne bzdurki?

[quote=Jacekalex]wygląda trochę lepiej od Firebirda, ale gorzej od Mysqla/Mariadb/Percona.[/quote]
a) bazy danych nie są od wyglądania.
b) coś wspominałem o windowsie i linuksie?
c) porównaj z oraclem, mssqlem, db2 - wtedy pogadamy


Nim mechaniczne larum zagrasz mi, kanalio,
głosząc nadejście Javy - śmiertelnego wroga!
[i]Zespół Adwokacki Dyskrecja[/i]

Offline

 

#22  2014-07-20 21:49:45

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: [POSTGRESQL] Kilka pytań, uprawnienia i inne bzdurki?

Pierwszy sukces:
Poszło dosyć łatwo, bo już zrobiłem testowe CA (łącznie z tydzień gimnastyki z certami, co ciekawe, ruszyły dopiero po zamianie OpenSSL na LibreSSL - brawa dla TEAMU OpenBSD), a certy PKCS12 klienta są sprawdzone na Nginxie, Apachu i Lighttpd.

Malutki test z Postgresem:

Kod:

mv ~/.postgresql/ ~/.postgresql2/

Kod:

psql -h localhost -U pacjent -W test
Hasło użytkownika pacjent: 
psql: FATAL:  connection requires a valid client certificate
FATAL:  no pg_hba.conf entry for host "127.0.0.1", user "pacjent", database "test", SSL off

Kod:

mv ~/.postgresql2/ ~/.postgresql/

Kod:

psql -h localhost -U pacjent -W test
Hasło użytkownika pacjent: 
psql (9.3.3)
Połączenie SSL (szyfr: DHE-RSA-AES256-SHA, bity: 256)
Wpisz "help" by uzyskać pomoc.

test=#

Także pg_hba.conf już rozpracowane. teraz czas na resztę. xD

Ostatnio edytowany przez Jacekalex (2014-07-20 21:52:49)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#23  2014-07-21 01:40:25

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: [POSTGRESQL] Kilka pytań, uprawnienia i inne bzdurki?

Znalazłem ciekawy tutek dotyczący bezpieczeństwa Postgresa,
który przewiduje usunięcie wszystkich uprawnień z roli PUBLIC.
http://www.mad-hacking.net/documentation/linux/applications/postgres/database-permissions.xml
I jeszcze ciekawszy artykulik:
http://www.ibm.com/developerworks/library/os-postgresecurity/

Sam się zastanawiam, czy nie spróbować całkowicie usunąć domyślnej roli PUBLIC (o ile to wykonalne), i ciekaw jestem, czy to oznacza całkowite zniszczenie Postresa, czy tylko jego mocniejsze  zabezpieczenie.

Pomysł wziął się jak zwykle z Mysqla, gdzie pacjent domyślnie nie ma prawa sprawdzać uprawnień innych pacjentów, a tym bardziej zaglądać do do listy nie swoich baz i tabel.
Czyli coś w tym guście:

Kod:

mysql -u ejabberd -phaselko

MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| ejabberd           |
| ejabberdold        |
+--------------------+
3 rows in set (0.02 sec)

MariaDB [(none)]>

Pozdro

Ostatnio edytowany przez Jacekalex (2014-07-21 01:57:37)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#24  2014-08-12 00:10:58

  ukasz - Użytkownik

ukasz
Użytkownik
Skąd: wroclaw
Zarejestrowany: 2006-06-21

Re: [POSTGRESQL] Kilka pytań, uprawnienia i inne bzdurki?

Co do zmiany ownera to:

Kod:

http://www.postgresql.org/docs/9.2/static/sql-reassign-owned.html

BARDZO przydatna komenda.


[img]http://wiblo.pl/wilk/userbars/debian_user_black.png[/img]

Offline

 

#25  2014-08-12 08:09:10

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: [POSTGRESQL] Kilka pytań, uprawnienia i inne bzdurki?

Już sobie z tym poradziłem, ale dzięki ;)

Po prostu wystarczy, żeby to pacjent robił tabele, a nie inny user, wtedy uprawnienia są prawidłowe OTB.


Raczej interesuje mnie zabezpieczanie Postgresa, żeby pod względem uprawnień, kontroli dostępu i ujawniania pacjentom info o innych pacjentach i ich uprawnieniach,  podciągnąć  go do poziomu  Mysqla (cokolwiek miałoby to znaczyć). :D

Ostatnio edytowany przez Jacekalex (2014-08-12 08:12:29)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
To nie jest tylko forum, to nasza mała ojczyzna ;-)

[ Generated in 0.014 seconds, 12 queries executed ]

Informacje debugowania

Time (s) Query
0.00009 SET CHARSET latin2
0.00004 SET NAMES latin2
0.00101 SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='18.188.96.17' WHERE u.id=1
0.00078 REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '18.188.96.17', 1733044224)
0.00039 SELECT * FROM punbb_online WHERE logged<1733043924
0.00063 DELETE FROM punbb_online WHERE ident='3.135.214.175'
0.00051 SELECT topic_id FROM punbb_posts WHERE id=271839
0.00005 SELECT id FROM punbb_posts WHERE topic_id=26151 ORDER BY posted
0.00092 SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=26151 AND t.moved_to IS NULL
0.00015 SELECT search_for, replace_with FROM punbb_censoring
0.00297 SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=26151 ORDER BY p.id LIMIT 0,25
0.00094 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=26151
Total query time: 0.00848 s