hur man ändrar en användare till Superuser i PostgreSQL

  • skapa en ny användare
  • visa befintliga användarbehörigheter
  • ändra befintliga användarbehörigheter
    • tilldela SUPERUSER tillstånd
    • återkalla behörigheter

ändra användarbehörigheter inom PostgreSQL kan variera från ganska enkel till extremt komplex, beroende på den tillåtande granularitet som faktiskt krävs., I de flesta fall är det dock det kraftfulla kommandot ALTER USER som ska användas för att göra allt från att tillåta användare att logga in, skapa databaser, hantera roller och till och med bli ett SUPERUSER – konto.

vi utforskar kortfattat kraften i kommandot ALTER USER så att du enkelt kan utföra en mängd olika behörighetstilldelningar och borttagningar när behovet uppstår.,

skapa en ny användare

innan vi börjar ändra användarbehörigheter bör vi skapa ett nytt användarkonto (vanligen kallat ROLE) för att leka med.

för att börja listar vi alla befintliga användare:

=# SELECT usename FROM pg_user; usename---------- postgres(1 row)

som standard ärpostgres vanligtvis den enda användaren som finns, så vi vill skapa en ny användare avlibrarian för att styra vårlibrary databas., Detta kan göras med kommandot CREATE USER:

=# CREATE USER librarian;CREATE ROLE=# SELECT usename FROM pg_user; usename----------- postgres librarian(2 rows)

visa befintliga användarbehörigheter

det kan ofta vara användbart att undersöka befintliga behörigheter som tilldelats användarna i systemet. Detta kan enkelt åstadkommas med \du – kommandot från psql – prompten:

=# \du List of roles Role name | Attributes | Member of-----------+------------------------------------------------+----------- librarian | | {} postgres | Superuser, Create role, Create DB, Replication | {}

Vi kan tydligt se att även om vi nu har lagt till en ny librarian – användare måste vi tilldela den några behörigheter.,

ändra befintliga användarbehörigheter

nu när vårlibrarian – användare finns, kan vi börja användaALTER USER för att ändra behörigheterna tilllibrarian.,

grundformatet för ALTER USER innehåller namnet på användaren (eller ROLE) följt av en serie av options för att informera PostgreSQL vilka tillåtande ändringar att göra:

=# ALTER USER role_specification WITH OPTION1 OPTION2 OPTION3;

dessa alternativ sträcker sig från CREATEDB, CREATEROLE, CREATEUSER, och även SUPERUSER. Dessutom har de flesta alternativ också en negativ motsvarighet och informerar systemet som du vill neka användaren den specifika behörigheten., Dessa alternativnamn är desamma som deras tilldelning motsvarighet, men är prefixerade med NO (t.ex. NOCREATEDB, NOCREATEROLE, NOSUPERUSER)., id=”329cbba936″>

möjlighet att tilldela vår librarian användare SUPERUSER tillstånd:

=# ALTER USER librarian WITH SUPERUSER;ALTER ROLE

säker nog, om vi visar vår behörighetslista nu ser vi librarianhar den nyaSUPERUSERtillstånd vi vill ha:

återkalla behörigheter

om vi gör ett misstag och tilldelar ett tillstånd som vi senare vill återkalla, utfärda bara samma ALTER USERkommando men lägg tillNOprefixet framför de tillåtna alternativen som ska återkallas.,

till exempel kan vi ta bort SUPERUSER från vår librarian användare som så:

Share

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *