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/random
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 pg_hba.conf, 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!
Zespół Adwokacki Dyskrecja

Offline

 

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

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
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!
Zespół Adwokacki Dyskrecja

Offline

 

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

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
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 ten 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 mysql.users.

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?

Jacekalex napisał(-a):

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.

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!
Zespół Adwokacki Dyskrecja

Offline

 

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

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
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ę.

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!
Zespół Adwokacki Dyskrecja

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/random
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 /run/postgresql/./.s.PGSQL.5432.sock - 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!
Zespół Adwokacki Dyskrecja

Offline

 

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

  Jacekalex - Podobno człowiek...;)

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

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

ethanak napisał(-a):

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.

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!
Zespół Adwokacki Dyskrecja

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?

Jacekalex napisał(-a):

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 /run/postgresql/./.s.PGSQL.5432.sock - 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ą.

Okropne masz te problemy :-)

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

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/random
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!
Zespół Adwokacki Dyskrecja

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?

Jacekalex napisał(-a):

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.

Zobacz tu:

http://www.postgresql.org/docs/9.3/static/sql-alter … ivileges.html

Offline

 

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

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
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
;-)

___

debianus_userus napisał(-a):

Jacekalex napisał(-a):

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.

Zobacz tu:

http://www.postgresql.org/docs/9.3/static/sql-alter … ivileges.html

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?

Jacekalex napisał(-a):

wygląda trochę lepiej od Firebirda, ale gorzej od Mysqla/Mariadb/Percona.

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!
Zespół Adwokacki Dyskrecja

Offline

 

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

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
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/random
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/appl … rmissions.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.


http://wiblo.pl/wilk/userbars/debian_user_black.png

Offline

 

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

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
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
Nas ludzie lubią po prostu, a nie klikając w przyciski ;-)