PostgreSql gi alle privilegier på skjemaet til brukeren

PostgreSql gi alle privilegier på skjemaet til brukeren

Databaser er avgjørende, og det er administratorens arbeid for å kontrollere hvilke forskjellige roller brukerne kan gjøre innenfor en gitt database. Som en del av autorisasjonen kan administratoren definere brukerenheter i databasen og gi eller tilbakekalle forskjellige privilegier til rollene.

På den måten oppnår du kontroll over hvem som kan få tilgang til en database og hvilke privilegier de har hvis de kan få tilgang til databasen. For eksempel kan du tilbakekalle databasemodifiseringen eller gi alle privilegier på skjemaet til en bruker eller brukere i en gitt tabell. Denne guiden beskriver hvordan du bruker PostgreSQL for å gi en bruker alle privilegier på skjemaet til en bruker.

Hvordan gi privilegier til brukere på PostgreSQL

Når du oppretter en ny rolle, får de noen privilegier som standard. Imidlertid krever de fleste privilegier at administratoren gir dem til forskjellige brukere for å regulere tilgangen og kontrollen av et skjema. Du kan gi alle privilegiene på en gang eller separat.

For denne opplæringen, la oss lage en ny rolle navngitt Linuxhint1.

$ sudo -iu postgres
# Opprett rolle Linuxhint1 påloggingspassord 'Linuxhint';


Merk at vi er logget inn som Postgres, Standardrollen som er opprettet når du installerer PostgreSQL.


Med rollen (brukeren) som er opprettet, kan vi liste til de tilgjengelige rollene ved å bruke følgende kommando:

# \ du


De tilgjengelige rollene vises i et tabellformat.


Postgres er standardrollen og har de fleste privilegier som allerede er gitt. Imidlertid den nye rollen, Linuxhint1, har ingen privilegier før vi gir det.

Gir et spesifikt privilegium til en bruker

Den skapte rollen kan ikke endre skjemaet med mindre du tillater det. La oss bekrefte dette ved først å lage en tabell som standardrolle, Postgres.

# Opprett tabellnavn (M_ID int generert alltid som identitet, fname vachar (100) ikke null, lname varchar (100) ikke null, alder int);



Du kan liste opp tilgjengelige forhold, som vist nedenfor:


Deretter åpner du et nytt skall og logg inn på PostgreSQL ved hjelp av den andre rollen, Linuxhint1, som vi opprettet tidligere ved hjelp av følgende kommando:

$ psql -u linuxhint1 -d postgres



De -d Angir at rollen er å bruke Postgres -databasen.

Prøv å lese innholdet i tabellen som vi opprettet ved hjelp av PLUKKE UT kommando.

# Velg * fra navn;


Det returnerer en tillatelse avslått Feil som hindrer brukeren fra å få tilgang til tabellen.


I et slikt tilfelle må vi gi rolleprivilegiene til å velge/se data fra den gitte tabellen ved hjelp av følgende syntaks:

# Gi Privilege_name på tabell_navn til rolle_name;


For å gi privilegiene, bruk Postgres -økten.


Når du er gitt, kan du prøve å kjøre den forrige kommandoen på nytt.


Det er det. Du klarte å gi Select Privilege til den spesifikke brukeren.

Å gi alle privilegier på skjemaet til en bruker

Så langt har vi klart å gi bare ett privilegium på skjemaet til en bruker. Vel, det er ikke nok. Brukeren kan ikke endre skjemaet med mindre du gir det alle privilegier, for eksempel å sette inn og oppdatere.

Det er forskjellige måter å oppnå dette på. Først, la oss Gi brukeren alle privilegiene til en gitt tabell Bruke følgende syntaks:

# Gi alle på tabellnavn til rollenavn;



Brukeren kan samhandle med og endre den aktuelle tabellen. De kan imidlertid ikke jobbe med andre tabeller i skjemaet.

Til gi alle privilegier på alle tabellene i et bestemt skjema, Bruk følgende syntaks:

# Gi alle på alle tabeller i skjema skjema_navn til rollenavn;



Til slutt kan du gi spesifikke privilegier, for eksempel å sette inn eller velge alle tabeller på skjemaet til en gitt rolle.

# Gi Privilege_name på alle tabeller i skjema skjema_navn til rolle_name;



Rollen kan velge data i alle tabeller i det spesifiserte skjemaet. Slik definerer du hvilke privilegier du skal gi på skjemaet til forskjellige brukere.

Konklusjon

PostgreSql er en kraftig DBMS. Den har forskjellige funksjoner, inkludert å la administratoren gi forskjellige privilegier til brukere. Å gi alle privilegier på skjemaet til brukere betyr å la brukeren endre og samhandle med alle tabeller i det spesifiserte skjemaet. Vi har sett hvordan vi skal bruke det og andre måter å gi privilegier på skjemaet til roller ved å bruke tilskuddserklæringen i PostgreSQL.