1

Temat: Odbieranie uprawnień / nadaweanie upranień dla roli

Tworzę rolę:

create role Malinowski NOSUPERUSER NOCREATEDB NOCREATEROLE NOINHERIT LOGIN NOREPLICATION ENCRYPTED PASSWORD 'password' CNNECTION LIMIT -1


1. Czy jest jakiś sposób aby odebrać użytkownikowi PUBLIC uprawnienia, tak aby nie mógł:
  A) łączyć się z żadną bazą danych
  B) wyświetlać definicji funkcji, widoków, ...  nawet aby nie mógł zobaczyć jakie są dostępne widoki, funkcje, tabele, ...
  C) no i aby nie miał dostępu do żadnych danych - nawet do katalogu/ schematu publicznego
  D) ...
  E) tak aby miał odebrane absolutnie wszystkie uprawnienia



2) Na razie próbowałem tak - i od razu mam pytania:
  A)

revoke grant option for all on database postgres from public;

    a) ale mimo to nadal Malinowski może łączyć się z bazą - co robię źle?
    b) czy da radę napisać coś w rodzaju

revoke grant option for all on database * from public;

- chodzi mi o ta abym nie musiał wypisywać każdej bazy danych ?

  B) czy da radę napisać coś w rodzaju revoke

GRANT OPTION FOR ALL ON TABLESPACE * FROM PUBLIC;

tak abym nie musiał wypisywać każdej przestrzeni tabel ?

  C) Podobne pytania mam dla schematów, tabel, funkcji, ... jak dla 2-A-b, 2-B.



3) Jak wyświetlić wszystkie uprawnienia dla konkretnego użytkownika - np. w postaci listy:
tabela1 - uprawnienia
tabela2 - uprawnienia
...
kolumna1 - uprawnienia
...
schemat1 - uprawnienia
...

2

Odp: Odbieranie uprawnień / nadaweanie upranień dla roli

Ostatnio edytowany przez c_michal (2014-04-03 16:37:06)

3

Odp: Odbieranie uprawnień / nadaweanie upranień dla roli

Podepnę się pod temat bo mam podobny problem:

mam użytkownika

CREATE ROLE mg LOGIN ENCRYPTED PASSWORD ...........' SUPERUSER NOINHERIT CREATEDB CREATEROLE;
CREATE SCHEMA mg AUTHORIZATION mg; GRANT ALL ON SCHEMA mg TO mg;

przy tworzeniu tabeli:

GRANT SELECT, UPDATE, INSERT, REFERENCES, TRIGGER ON TABLE mg.tabela1 TO mg;
REVOKE DELETE ON mg.tabela1 FROM mg;

w phppgadmin dla tej tabeli uprawnienia wyglądają następująco:
Rola    SELECT     INSERT     UPDATE     DELETE     REFERENCES     TRIGGER     Kto nadał
mg     Tak     Tak     Tak     Nie     Tak     Tak     mg

Jeżeli w przeglądarce wywołam zapytanie
Delete from tabela1 where id=1 to zapytanie się wykonuje, a ja nie chcę aby operacja delete w ogóle się wykonywała.

4

Odp: Odbieranie uprawnień / nadaweanie upranień dla roli