- Oprettelse af en Ny Bruger
- Visning af Eksisterende Bruger Tilladelser
- Ændre Eksisterende Bruger Tilladelser
- Tildeling
SUPERUSER
Tilladelse - Tilbagekaldelse af Tilladelser
- Tildeling
Ændre brugertilladelser i PostgreSQL kan variere fra meget simple til meget komplekse, afhængigt af den eftergivende nøjagtighed, at der rent faktisk er behov., I de fleste tilfælde, men det er den magtfulde ALTER USER
kommando, der bør udnyttes til at gøre alt fra, der tillader brugere at logge ind, oprette databaser, administrere roller, og selv blive en SUPERUSER
konto.
Vi vil kort undersøge kraften i ALTER USER
kommandoen, så du nemt kan udføre en række tilladelsesopgaver og fjernelser, når behovet opstår.,
oprettelse af en ny bruger
før vi kommer ind på at ændre brugertilladelser, skal vi oprette en ny brugerkonto (almindeligvis benævnt etROLE
) for at rodde rundt med.
til At begynde, vil vi liste alle de eksisterende brugere:
=# SELECT usename FROM pg_user; usename---------- postgres(1 row)
Som standard postgres
er typisk den eneste bruger, der eksisterer, så vi ønsker at oprette en ny bruger af librarian
vores library
database., Dette kan opnås ved brug af CREATE USER
kommando:
=# CREATE USER librarian;CREATE ROLE=# SELECT usename FROM pg_user; usename----------- postgres librarian(2 rows)
Visning af Eksisterende Bruger Tilladelser
Det kan ofte være nyttigt at undersøge de eksisterende tilladelser, der er tildelt til brugere i systemet. Dette kan nemt gøres med \du
kommando fra psql
prompt:
=# \du List of roles Role name | Attributes | Member of-----------+------------------------------------------------+----------- librarian | | {} postgres | Superuser, Create role, Create DB, Replication | {}
Vi kan tydeligt se, at selvom vi har nu tilføjet en ny librarian
bruger, vi er nødt til at tildele tilladelser.,
Ændre Eksisterende Bruger Tilladelser
Nu, at vores librarian
brugeren eksisterer, kan vi begynde at bruge ALTER USER
for at ændre tilladelserne for librarian
.,
Det grundlæggende format ALTER USER
indeholder navnet på brugeren (eller ROLE
), efterfulgt af en serie af options
for at informere PostgreSQL som eftergivende ændringer at foretage:
=# ALTER USER role_specification WITH OPTION1 OPTION2 OPTION3;
Disse indstillinger spænder fra CREATEDB
CREATEROLE
CREATEUSER
, og selv SUPERUSER
. Derudover har de fleste muligheder også en negativ modstykke, der informerer systemet om, at du ønsker at nægte brugeren den pågældende tilladelse., Disse mulighed navne er de samme som deres opgave modpart, men er forsynet med et præfiks bestående NO
(fx NOCREATEDB
NOCREATEROLE
NOSUPERUSER
)., id=”329cbba936″>
mulighed for at tildele vores librarian
bruger SUPERUSER
tilladelse:
=# ALTER USER librarian WITH SUPERUSER;ALTER ROLE
Sikker nok, hvis vi vise vores tilladelse liste nu, vi vil se librarian
har den nye SUPERUSER
tilladelse, ønsker vi:
Tilbagekaldelse af Tilladelser
I tilfælde af, at vi laver en fejl, og tildele en tilladelse vi senere ønsker at tilbagekalde, blot udstede det samme ALTER USER
kommando, men du tilføje NO
præfiks foran eftergivende muligheder for at blive inddraget.,
For eksempel, kan vi fjerne SUPERUSER
fra vores librarian
bruger som så: