Pular para o conteúdo
  • Este tópico contém 7 respostas, 5 vozes e foi atualizado pela última vez 14 anos atrás por Avatar de David SiqueiraDavid Siqueira.
Visualizando 8 posts - 1 até 8 (de 8 do total)
  • Autor
    Posts
  • #94790
    Avatar de Thiago VilhenaThiago Vilhena
    Participante

      Pessoa, como que eu faço pra saber todos os grants que meu usuario tem?

      #94791
      Avatar photoRegis Araujo
      Participante

        Fala Thiago..!!!

        Tenta isto mano..!!

        SELECT * FROM ALL_TAB_PRIVS WHERE grantee = '';

        Abraços..!

        #94795
        Avatar de marlontkmarlontk
        Participante

          Opa
          Segue scripts que uso para isso porque pode ser que teu usuario tenha roles atribuidas a ele logo temos que saber o que estas roles nos permitem fazer no banco.

          — ROLES QUE ESTAO ATRIBUIDAS AO USUARIO
          SELECT ‘GRANT ‘ ||A.GRANTED_ROLE||’ TO ‘||A.GRANTEE||’;’ FROM DBA_ROLE_PRIVS A
          WHERE GRANTEE IN (‘user’)
          ORDER BY A.GRANTEE

          — DIREITOS DAS ROLES NOS OBJETOS
          SELECT ‘GRANT ‘||P.privilege || ‘ TO ‘|| GRANTEE|| ‘ ON ‘ ||OWNER||’.’||TABLE_NAME||’;’
          FROM DBA_TAB_PRIVS P
          WHERE P.GRANTEE IN (‘ROLE’)

          — OUTROS DIREITOS
          SELECT ‘GRANT ‘|| Y.privilege || ‘ TO ‘ ||GRANTEE
          || CASE WHEN ADMIN_OPTION = ‘YES’ THEN ‘ WITH ADMIN OPTION’
          ELSE ‘ ‘
          END
          ||’;’
          FROM DBA_SYS_PRIVS Y
          WHERE GRANTEE IN (‘user’)

          #94811
          Avatar de Thiago VilhenaThiago Vilhena
          Participante

            [quote=”marlontk”:1fj253nk]Opa
            Segue scripts que uso para isso porque pode ser que teu usuario tenha roles atribuidas a ele logo temos que saber o que estas roles nos permitem fazer no banco.

            — ROLES QUE ESTAO ATRIBUIDAS AO USUARIO
            SELECT ‘GRANT ‘ ||A.GRANTED_ROLE||’ TO ‘||A.GRANTEE||’;’ FROM DBA_ROLE_PRIVS A
            WHERE GRANTEE IN (‘user’)
            ORDER BY A.GRANTEE

            — DIREITOS DAS ROLES NOS OBJETOS
            SELECT ‘GRANT ‘||P.privilege || ‘ TO ‘|| GRANTEE|| ‘ ON ‘ ||OWNER||’.’||TABLE_NAME||’;’
            FROM DBA_TAB_PRIVS P
            WHERE P.GRANTEE IN (‘ROLE’)

            — OUTROS DIREITOS
            SELECT ‘GRANT ‘|| Y.privilege || ‘ TO ‘ ||GRANTEE
            || CASE WHEN ADMIN_OPTION = ‘YES’ THEN ‘ WITH ADMIN OPTION’
            ELSE ‘ ‘
            END
            ||’;’
            FROM DBA_SYS_PRIVS Y
            WHERE GRANTEE IN (‘user’)[/quote]

            I veio, meu usuario nao tem privilelgios para essas views =|…

            #94812
            Avatar de Thiago VilhenaThiago Vilhena
            Participante

              [quote=”Thunder_Catz”:30z0ujge]Fala Thiago..!!!

              Tenta isto mano..!!

              SELECT * FROM ALL_TAB_PRIVS WHERE grantee = '';

              Abraços..![/quote]

              Regis meu veio, eu tentei fazer isso se nao me falha a memoria deu que nao existia linhas selecionadas…. amanha tento novamente e posto. abç

              #94813
              Avatar de burgaburga
              Participante

                [quote=”Thiago_est”:3cjecar4][quote=”Thunder_Catz”:3cjecar4]Fala Thiago..!!!

                Tenta isto mano..!!

                SELECT * FROM ALL_TAB_PRIVS WHERE grantee = '';

                Abraços..![/quote]

                Regis meu veio, eu tentei fazer isso se nao me falha a memoria deu que nao existia linhas selecionadas…. amanha tento novamente e posto. abç[/quote]

                A consulta acima só enxerga privilegios dados diretamente ao usuário, se o teu usuário só tem priviégios de roles vc não vai enxergar nada mesmo…

                Você pode tentar o seguinte (conectado com o usuário que você quer saber dos privilégios):

                SELECT *
                FROM ALL_TAB_PRIVS
                WHERE grantee IN (
                SELECT GRANTED_ROLE
                FROM USER_ROLE_PRIVS);
                UNION
                SELECT *
                FROM ALL_TAB_PRIVS
                WHERE grantee = '';

                #94817
                Avatar de marlontkmarlontk
                Participante

                  Opa,
                  Para executar os selects que havia enviado antes o bom é logar como system porque dependendo do user que voce esta logado realmente não tera acesso a essas views.

                  #95095
                  Avatar de David SiqueiraDavid Siqueira
                  Participante

                    Thiagão meu brother..resolveu essa parada???

                    Abraço

                  Visualizando 8 posts - 1 até 8 (de 8 do total)
                  • Você deve fazer login para responder a este tópico.
                  plugins premium WordPress