- Erstellen eines neuen Benutzers
- Anzeigen vorhandener Benutzerberechtigungen
- Ändern vorhandener Benutzerberechtigungen
- Zuweisen von
SUPERUSER
Berechtigung - Berechtigungen widerrufen
- Zuweisen von
as Ändern von Benutzerberechtigungen in PostgreSQL kann von ziemlich einfach bis extrem komplex reichen, abhängig von der zulässigen Granularität, die tatsächlich erforderlich ist., In den meisten Fällen ist es jedoch der leistungsstarke Befehl ALTER USER
, mit dem Benutzer sich anmelden, Datenbanken erstellen, Rollen verwalten und sogar zu einem SUPERUSER
Konto.
Wir werden kurz die Leistungsfähigkeit des Befehls ALTER USER
untersuchen, damit Sie bei Bedarf problemlos eine Vielzahl von Berechtigungszuweisungen und-entfernungen durchführen können.,
Erstellen eines neuen Benutzers
Bevor wir Benutzerberechtigungen ändern, sollten wir ein neues Benutzerkonto einrichten (allgemein als ROLE
bezeichnet), mit dem wir herumspielen können.
Zunächst listen wir alle vorhandenen Benutzer auf:
=# SELECT usename FROM pg_user; usename---------- postgres(1 row)
Standardmäßig ist postgres
normalerweise der einzige Benutzer, der existiert, daher möchten wir einen neuen Benutzer von librarian
erstellen, um unsere library
div > Datenbank., Dies kann mit dem Befehl CREATE USER
erreicht werden:
=# CREATE USER librarian;CREATE ROLE=# SELECT usename FROM pg_user; usename----------- postgres librarian(2 rows)
Anzeigen vorhandener Benutzerberechtigungen
Es kann oft nützlich sein, die vorhandenen Berechtigungen zu untersuchen, die den Benutzern im System zugewiesen sind. Dies kann leicht mit dem \du
Befehl von der psql
Eingabeaufforderung erreicht werden:
=# \du List of roles Role name | Attributes | Member of-----------+------------------------------------------------+----------- librarian | | {} postgres | Superuser, Create role, Create DB, Replication | {}
Wir können deutlich sehen, dass, obwohl wir jetzt eine neue librarian
Benutzer hinzugefügt haben, müssen wir ihm einige Berechtigungen zuweisen.,
Vorhandene Benutzerberechtigungen ändern
Nachdem unser librarian
– Benutzer vorhanden ist, können wir mit ALTER USER
beginnen, um die Berechtigungen zu ändern, die librarian
erteilt wurden.,
Das Basisformat von ALTER USER
enthält den Namen des Benutzers (oder ROLE
) gefolgt von einer Reihe von options
, um PostgreSQL darüber zu informieren, welche Änderungen zulässig sind:
=# ALTER USER role_specification WITH OPTION1 OPTION2 OPTION3;
Diese Optionen reichen von CREATEDB
,CREATEROLE
,CREATEUSER
und sogarSUPERUSER
. Darüber hinaus haben die meisten Optionen auch ein negatives Gegenstück, das das System darüber informiert, dass Sie dem Benutzer diese bestimmte Berechtigung verweigern möchten., Diese Optionsnamen sind die gleichen wie ihr Zuweisungsgegenstück, werden jedoch mit NO
vorangestellt (z. B. NOCREATEDB
, NOCREATEROLE
, NOSUPERUSER
)., id=“329cbba936″>
Option zum Zuweisen unserer librarian
Benutzer SUPERUSER
Berechtigung:
=# ALTER USER librarian WITH SUPERUSER;ALTER ROLE
Sicher genug, wenn wir jetzt unsere Berechtigungsliste anzeigen, sehen wir librarian
hat die neue SUPERUSER
– Berechtigung, die wir wünschen:
Berechtigungen widerrufen
Falls wir einen Fehler machen und eine Berechtigung zuweisen, die wir später widerrufen möchten, geben Sie einfach dieselbe ALTER USER
– Anweisung aus, fügen Sie jedoch den Befehl NO
– Präfix vor den zulässigen Optionen hinzu, die widerrufen werden sollen.,
Zum Beispiel können wir SUPERUSER
aus unserem librarian
Benutzer wie folgt entfernen: