Com ** CERTEZA **, qualquer usuário consegue alterar a própria senha, mas com 
** CERTEZA **, também, um usuário SEM o privilégio adequado NÃO consegue 
alterar a dos outros : veja em 
http://picpaste.com/nonsysdba_user_changing_sys_password-xNvwcx8d.jpg que , 
conectado como SCOTT (que foi criado sem privilégios especiais, veja a prova 
mais abaixo),  ao tentar alterar a senha de um outro usuário (o usuário SYS no 
caso) na seção "Outros usuários"  via Edit, ao clickar no botão Aplicar eu 
recebo uma mensagem de Falta de privilégios, sim ????
 Então muito provavelmente na hora de vc criar esses outros usuários vc deu 
algum privilégio extra pra eles (SYSDBA, talvez??), OU talvez não chegou a 
clickar no botão de apply, OU talvez (não é impossível) vc estava conectado 
como SYS e como usou a seção "Outros usuários" da conexão do SYS, que (Óbvio) 
possui privilégios extras....

 Check de privilégios do scott :

system@o10gr2:SQL> @h:\dba_scripts\privs_by_user
Enter Username : scott
Roles granted to user

GRANTED_ROLE              ADM DEF
------------------------- --- ---
CONNECT                   NO  YES
PLUSTRACE                 NO  YES
RESOURCE                  NO  YES
ROLE_SELECT               NO  YES

Table Privileges granted to a user through roles

GRANTED_ROLE              OWNER           TABLE_NAME
------------------------- --------------- ---------------------------------
PRIVILEGE
---------------------------------
ROLE_SELECT               SYSTEM          TAB_TESTE
SELECT


System Privileges assigned to a user through roles

GRANTED_ROLE              PRIVILEGE
------------------------- ---------------------------------
CONNECT                   CREATE SESSION
RESOURCE                  CREATE CLUSTER
RESOURCE                  CREATE INDEXTYPE
RESOURCE                  CREATE OPERATOR
RESOURCE                  CREATE PROCEDURE
RESOURCE                  CREATE SEQUENCE
RESOURCE                  CREATE TABLE
RESOURCE                  CREATE TRIGGER
RESOURCE                  CREATE TYPE

9 linhas selecionadas.

Table privileges assigned directly to a user

OWNER           TABLE_NAME
--------------- ---------------------------------
PRIVILEGE
---------------------------------
HR              EMPLOYEES
INSERT

HR              EMPLOYEES
SELECT

SYS             DATA_PUMP_DIR
READ

SYS             DATA_PUMP_DIR
WRITE

SYS             DIR_ADMIN
EXECUTE

SYS             DIR_ADMIN
READ

SYS             DIR_ADMIN
WRITE


7 linhas selecionadas.

System privileges assigned directly to a user

PRIVILEGE                         ADM
--------------------------------- ---
CREATE ANY DIRECTORY              NO
CREATE VIEW                       NO
UNLIMITED TABLESPACE              NO
ALTER SESSION                     NO

system@o10gr2:SQL> get h:\dba_scripts\privs_by_user
  1  -- privs_by_user
  2  set echo off
  3  set verify off
  4  set pages 9999
  5  col granted_role form a25
  6  col owner form a15
  7  col table_name form a33
  8  col privilege form a33
  9  ACCEPT username  prompt 'Enter Username : '
 10  PROMPT Roles granted to user
 11  SELECT granted_role,admin_option,default_role
 12  FROM dba_role_privs
 13  WHERE grantee=UPPER('&username')
 14  ORDER BY 1;
 15  PROMPT Table Privileges granted to a user through roles
 16  SELECT granted_role, owner, table_name, privilege
 17  FROM ( SELECT granted_role
 18      FROM dba_role_privs WHERE grantee=UPPER('&username')
 19         UNION
 20         SELECT granted_role
 21      FROM role_role_privs
 22      WHERE role in (SELECT granted_role
 23               FROM dba_role_privs WHERE grantee=UPPER('&username')
 24              )
 25     ) roles, dba_tab_privs
 26  WHERE granted_role=grantee
 27  ORder by 1,2,3,4;
 28  PROMPT System Privileges assigned to a user through roles
 29  SELECT granted_role, privilege
 30  FROM ( SELECT granted_role
 31      FROM dba_role_privs WHERE grantee=UPPER('&username')
 32         UNION
 33         SELECT granted_role
 34      FROM role_role_privs
 35      WHERE role in (SELECT granted_role
 36               FROM dba_role_privs WHERE grantee=UPPER('&username')
 37              )
 38     ) roles, dba_sys_privs
 39  WHERE granted_role=grantee
 40   ORDER BY 1,2;
 41  PROMPT Table privileges assigned directly to a user
 42  SELECT owner, table_name, privilege
 43  FROM dba_tab_privs
 44  WHERE grantee=UPPER('&username')
 45  ORDER BY 1,2,3;
 46  PROMPT System privileges assigned directly to a user
 47  SELECT privilege, admin_option
 48  FROM  dba_sys_privs
 49  WHERE grantee=UPPER('&username');
 50  undefine username
 system@o10gr2:SQL>

 []s

  Chiappa

--- Em oracle_br@yahoogrupos.com.br, Wiliam Balan <wiliambalan@...> escreveu
>
> Pessoal
> 
> Sou usuário SYS do Banco e criei alguns usuários.
> Verifiquei que pelo Oracle Sql Developer, qualquer usuário consegue alterar
> a senha dele mesmo e de outros usuários. Tem uma opção no menu esquerdo
> chamada "OUTROS USUARIOS" onde é possivel ver todos os usuarios do SGBD, e
> dai voce seleciona algum e consegue por uma nova senha para ele.
> 
> Entrei como um usuário normal e consegui alterar a senha até do SYS do BD.
> Alguem saberia alguma forma de impedir isso?
> 
> Wiliam
> 
> 
> [As partes desta mensagem que não continham texto foram removidas]
>


Responder a