Ergebnis 1 bis 6 von 6

Thema: Wie setze ich eine Berechtigung auf alle Tabellen einer DB?

  1. #1
    sflepp ist offline Neuer Benutzer
    Registriert seit
    25.09.2008
    Beiträge
    3

    Standard Wie setze ich eine Berechtigung auf alle Tabellen einer DB?

    Hallo

    ich versuche mit einem Script einer Group Role auf allen Tabellen einer DB die Berechtigung setzen.
    Mein erster Versuch mit einem Sub-select geht nicht ->
    GRANT SELECT, UPDATE, INSERT, DELETE ON TABLE (SELECT tablename FROM pg_tables where tablename not like 'pg_%') TO users_group;

    Hatte jemand eine Idee wie das zu lösen ist?

    Danke und Gruss
    Ste

  2. #2
    symbiont ist offline Erfahrener Benutzer
    Registriert seit
    17.03.2008
    Ort
    NULL
    Beiträge
    1.320

    Standard

    entweder du generierst dir ein script ..

    z.B. mit dem select erstmal die objekte abfragen -> in ein textfile -> grant-statement davor basteln

    oder du nutzt PG-Admin - da ist ein "GRANT Assistent" bei - der mehr oder minder hinreichend gut funktioniert.

  3. #3
    sflepp ist offline Neuer Benutzer
    Registriert seit
    25.09.2008
    Beiträge
    3

    Standard

    ja so mach ich es bisher, wäre aber ein bisschen cooler wenn es automatisch ginge....

  4. #4
    akretschmer ist offline Super-Moderator
    Registriert seit
    29.10.2006
    Ort
    Nähe Dresden
    Beiträge
    5.337

    Standard

    Zitat Zitat von sflepp Beitrag anzeigen
    ja so mach ich es bisher, wäre aber ein bisschen cooler wenn es automatisch ginge....
    Code:
    17:14 < akretschmer> ??grantall
    17:14 < rtfm_please> For information about grantall
    17:14 < rtfm_please> see http://pgedit.com/public/sql/acl_admin/index.html
    17:14 < rtfm_please> or http://unf.be/postgresql/postgres_grant_all.perl
    17:14 < rtfm_please> or http://www.archonet.com/pgdocs/grant-all.html
    Andreas
    --
    ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
    https://www.xing.com/profile/Andreas_Kretschmer7

  5. #5
    symbiont ist offline Erfahrener Benutzer
    Registriert seit
    17.03.2008
    Ort
    NULL
    Beiträge
    1.320

    Standard

    schön schön ..

  6. #6
    sflepp ist offline Neuer Benutzer
    Registriert seit
    25.09.2008
    Beiträge
    3

    Standard

    Ich hab jetzt ein Script (abgändertes grantall.sh) das funktioniert. Falls jemand mal das gleiche benötigt:

    ###### start of fixperm.sh #######
    #!/bin/bash
    SQL="SELECT tablename FROM pg_tables where tablename not like 'pg_%' and tablename not like 'sql_%'"
    OBJ=`psql -d DATABASE -t -c "${SQL}" $1`
    OBJ=`echo ${OBJ} | sed 's/EOF//g'`
    OBJ=`echo ${OBJ} | sed 's/ /, /g'`
    SQL="GRANT SELECT, UPDATE, INSERT, DELETE ON ${OBJ} TO users_group;"
    psql -d DATABASE -c "${SQL}" $1
    ###### end of fixperm.sh ######

    Vielen Dank für die Hilfe

    greetz
    Ste

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Links: Tobias Bauer - IT- und Funkdienstleistungen   -   Bilderrahmen-kaufen.de - Der Onlineshop für Bilderrahmen & Fotorahmen   -   Funkforum