- Een nieuwe gebruiker aanmaken
- bestaande gebruikersmachtigingen bekijken
- bestaande gebruikersmachtigingen wijzigen
SUPERUSER
toestemming- rechten intrekken
Het wijzigen van gebruikersrechten binnen PostgreSQL kan variëren van vrij eenvoudig tot extreem complex, afhankelijk van de permissieve granulariteit die daadwerkelijk vereist is., In de meeste gevallen is het echter het krachtige ALTER USER
commando dat gebruikt moet worden om alles te doen, van het toestaan van gebruikers om in te loggen, databases aan te maken, rollen te beheren, en zelfs een SUPERUSER
account te worden.
We zullen in het kort de kracht van het ALTER USER
Commando onderzoeken, zodat u eenvoudig een verscheidenheid aan toestemmingen en verwijderingen kunt uitvoeren als dat nodig is.,
een nieuwe gebruiker aanmaken
voordat we gebruikersrechten gaan wijzigen, moeten we een nieuw gebruikersaccount aanmaken (gewoonlijk aangeduid als een ROLE
) om mee te knoeien.
om te beginnen tonen we alle bestaande gebruikers:
=# SELECT usename FROM pg_user; usename---------- postgres(1 row)
standaard is postgres
de enige gebruiker die bestaat, dus willen we een nieuwe gebruiker vanlibrarian
maken om onzelibrary
database., Dit kan worden bereikt met CREATE USER
Commando:
=# CREATE USER librarian;CREATE ROLE=# SELECT usename FROM pg_user; usename----------- postgres librarian(2 rows)
het bekijken van bestaande gebruikersmachtigingen
Het kan vaak nuttig zijn om de bestaande machtigingen te onderzoeken die aan de gebruikers in het systeem zijn toegewezen. Dit kan eenvoudig worden bereikt met het \du
commando van het psql
prompt:
=# \du List of roles Role name | Attributes | Member of-----------+------------------------------------------------+----------- librarian | | {} postgres | Superuser, Create role, Create DB, Replication | {}
We kunnen duidelijk zien dat, hoewel we nu een nieuwe gebruiker, We moeten het een aantal rechten toewijzen.,
bestaande gebruikersmachtigingen wijzigen
nu onze librarian
gebruiker bestaat, kunnen we beginnen met ALTER USER
om de machtigingen te wijzigen die zijn verleend aan librarian
.,
Het basis formaat van het ALTER USER
bevat de naam van de gebruiker (of ROLE
), gevolgd door een serie options
om te informeren PostgreSQL die toelatende aanpassingen te maken:
=# ALTER USER role_specification WITH OPTION1 OPTION2 OPTION3;
Deze opties variëren van CREATEDB
, CREATEROLE
, CREATEUSER
en ook SUPERUSER
. Bovendien, de meeste opties hebben ook een negatieve tegenhanger, het informeren van het systeem dat u de gebruiker die specifieke toestemming te weigeren., Deze optienamen zijn dezelfde als hun toegewezen tegenhanger, maar worden voorafgegaan door NO
(bijvoorbeeld NOCREATEDB
, NOCREATEROLE
, NOSUPERUSER
)., id=”329cbba936″>
optie toe te wijzen onze librarian
gebruiker SUPERUSER
toestemming:
=# ALTER USER librarian WITH SUPERUSER;ALTER ROLE
Zeker genoeg, als we ons toestemming lijst nu, we zullen zien librarian
de nieuwe SUPERUSER
toestemming willen we:
het Intrekken van Machtigingen
In het geval dat wij een fout maken en toewijzen van een toestemming die we later wenst in te trekken, gewoon kwestie van dezelfde ALTER USER
commando, maar het toevoegen van de NO
prefix voor de toelatende opties worden ingetrokken.,
bijvoorbeeld, we kunnen SUPERUSER
verwijderen uit onze librarian
gebruiker als volgt: