Uma outra coisa é que também não consigo mais copiar/selecionar os textos aqui no grupo, só está acontecendo comigo?
Em , Rafael Mendonca <raffaell.t...@yahoo.com> escreveu: Chiappa, não consegui realizar a consulta com a sua query: Primeira observação: " PROMPT System privileges assigned directly to a user" Essa consulta mostra todos os privilegios dados diretamente pros usuarios, inclusive para as ROLES. Que é a que eu tinha feito no primeiro tópico, beleza (: O problema é que agora preciso dos privilégios dos usuários dados através de ROLES, que seria essa que você mandou: SELECT granted_role, privilege FROM ( SELECT granted_role FROM dba_role_privs WHERE grantee=UPPER('&username') UNION SELECT granted_role FROM role_role_privs WHERE role in (SELECT granted_role FROM dba_role_privs WHERE grantee=UPPER ('&username') ) ) roles, dba_sys_privs WHERE granted_role=grantee ORDER BY 1,2; PROMPT Table privileges assigned directly to a user SELECT owner, table_name, privilege FROM dba_tab_privs WHERE grantee=UPPER('&username') ORDER BY 1,2,3; Só que o problema é que quero de todos os usuários e não colocar um determinado usuário. O que fiz foi comentar as cláusulas "WHERE grantee=UPPER('&username')", para me mostrar tudo e colocar o "grantee" no SELECT. Ficou muito tosco, não me mostra os usuários só as roles e seus determinados privilégios, e acabei sem identificar os usuários, poderia me ajudar? Realmente esse select nao consegui modificar de acordo com a minha necessidade. Em Terça-feira, 10 de Junho de 2014 11:32, "jlchia...@yahoo.com.br [oracle_br]" <oracle_br@yahoogrupos.com.br> escreveu: Bem, vc não diz mas em primeiro lugar, entendo que vc está focando nos privilégios de sistema : obviamente, um privilégio de acesso/DDL/DML impróprio nas tabelas do aplicativo pode ** detonar ** o aplicativo, deixando-o fora de combate rapidinho, mas isso vai ser tratado/está sendo tratado numa outra atuação... Com isso em mente, eu diria : a) faltam aí checar os privilégios UNLIMITED TABLESPACE (que permite criar objs na tablespace SYSTEM, talvez até eventualmente lotando-a e assim derrubando o banco, ou no mínimo causando problemas de performance/administração), de DEBUG, ADMINISTER, , de FLASHBACK e de EXPORT : em tese não se derruba um banco com eles MAS podem causar lentidão e pros de acesso se mal-usados b) falta checar os privilégios de EXECUTE nas packages internas pertencentes ao SYS e aos schemas internos (algumas dessas são mega-poderosas, com LARGA margem para exploit c) muito importante : falta checar os privilégios de sistema recebidos por ROLES, principalmente a role DBA e as roles de operadores do database : acredite ou não, ainda hoje vc encontra aplicativo que "exige" que o usuário dono das tabs dele receba role de DBA, de DBOPER, ou coisa assim... []s Chiappa OBS : => vc pode se basear no script abaixo, que lista TODOS os privs, seja recebidos diretamente, seja por role, seja privs de execute, adapte-o pra sua necessiadde... set echo off set verify off set pages 9999 col granted_role form a28 col owner form a15 col table_name form a33 col privilege form a33 ACCEPT username prompt 'Enter Username : ' PROMPT Roles granted to user SELECT granted_role,admin_option,default_role FROM dba_role_privs WHERE grantee=UPPER('&username') ORDER BY 1; PROMPT Table Privileges granted to a user through roles SELECT granted_role, owner, table_name, privilege FROM ( SELECT granted_role FROM dba_role_privs WHERE grantee=UPPER('&username') UNION SELECT granted_role FROM role_role_privs WHERE role in (SELECT granted_role FROM dba_role_privs WHERE grantee=UPPER('&username') ) ) roles, dba_tab_privs WHERE granted_role=grantee ORder by 1,2,3,4; PROMPT System Privileges assigned to a user through roles SELECT granted_role, privilege FROM ( SELECT granted_role FROM dba_role_privs WHERE grantee=UPPER('&username') UNION SELECT granted_role FROM role_role_privs WHERE role in (SELECT granted_role FROM dba_role_privs WHERE grantee=UPPER('&username') ) ) roles, dba_sys_privs WHERE granted_role=grantee ORDER BY 1,2; PROMPT Table privileges assigned directly to a user SELECT owner, table_name, privilege FROM dba_tab_privs WHERE grantee=UPPER('&username') ORDER BY 1,2,3; PROMPT System privileges assigned directly to a user SELECT privilege, admin_option FROM dba_sys_privs WHERE grantee=UPPER('&username') ORDER BY 1; undefine username /