- Tworzenie nowego Użytkownika
- przeglądanie istniejących uprawnień użytkownika
- zmiana istniejących uprawnień użytkownika
- Przypisywanie
SUPERUSER
uprawnienia - cofanie uprawnień
- Przypisywanie
modyfikowanie uprawnień użytkowników w PostgreSQL może wahać się od dość prostych do bardzo złożonych, w zależności od dopuszczalnej ziarnistości, która jest faktycznie wymagana., W większości przypadków Jednak jest to potężne polecenie ALTER USER
, które powinno być użyte do zrobienia wszystkiego, od umożliwienia użytkownikom logowania, tworzenia baz danych, zarządzania rolami, a nawet stać się kontemSUPERUSER
.
krótko omówimy moc polecenia ALTER USER
, dzięki czemu możesz łatwo wykonywać różne przydziały uprawnień i usuwania, gdy zajdzie taka potrzeba.,
Tworzenie nowego Użytkownika
zanim przejdziemy do zmiany uprawnień użytkowników, powinniśmy założyć nowe konto użytkownika (powszechnie określane jakoROLE
).
aby rozpocząć, wymienimy wszystkich istniejących użytkowników:
=# SELECT usename FROM pg_user; usename---------- postgres(1 row)
domyślnie postgres
jest zazwyczaj jedynym użytkownikiem, który istnieje, więc chcemy utworzyć nowego użytkownika librarian
div>do kontrolowania naszej bazy library
., Można tego dokonać za pomocą polecenia CREATE USER
:
=# CREATE USER librarian;CREATE ROLE=# SELECT usename FROM pg_user; usename----------- postgres librarian(2 rows)
przeglądanie istniejących uprawnień użytkowników
często przydatne może być sprawdzenie istniejących uprawnień przypisanych użytkownikom w systemie. Można to łatwo wykonać za pomocą polecenia \du
z polecenia psql
prompt:
=# \du List of roles Role name | Attributes | Member of-----------+------------------------------------------------+----------- librarian | | {} postgres | Superuser, Create role, Create DB, Replication | {}
wyraźnie widzimy, że nawet jeśli dodaliśmy nowylibrarian
użytkownik, musimy mu przypisać jakieś uprawnienia.,
zmiana istniejących uprawnień użytkowników
teraz, gdy nasz librarian
użytkownik istnieje, możemy zacząć używać ALTER USER
aby zmodyfikować uprawnienia przyznane librarian
.,
podstawowy format ALTER USER
zawiera nazwę użytkownika (lub ROLE
), a następnie serię options
informującą PostgreSQL, które mogą wprowadzić zmiany:
=# ALTER USER role_specification WITH OPTION1 OPTION2 OPTION3;
opcje te obejmująCREATEDB
,CREATEROLE
,CREATEUSER
, a nawetSUPERUSER
. Dodatkowo, większość opcji ma również negatywny odpowiednik, informując system, że chcesz odmówić użytkownikowi tego konkretnego uprawnienia., Te nazwy opcji są takie same jak ich odpowiedniki przypisania, ale są poprzedzone NO
(np. NOCREATEDB
, NOCREATEROLE
, NOSUPERUSER
)., id=”329cbba936″>
opcja przypisania naszego librarian
użytkownika SUPERUSER
uprawnienia:
=# ALTER USER librarian WITH SUPERUSER;ALTER ROLE
oczywiście wystarczy, jeśli wyświetlamy nasze uprawnienia lista teraz, zobaczymy librarian
ma nowy SUPERUSER
uprawnienia, które chcemy:
cofanie uprawnień
w przypadku, gdy popełnimy błąd i przypiszemy uprawnienia, które później chcemy odwołać, po prostu wydaj to samo ALTER USER
polecenie, ale dodaj przedrostek NO
przed opcjami dopuszczalnymi, które mają zostać odwołane.,
na przykład możemy usunąć SUPERUSER
z naszego librarian
użytkownika w następujący sposób: