Privilegi di Sistema
Delega sui privilegi di sistema:
CREATE TABLE
CREATE ANY TABLE
CREATE ANY SESSION
DELETE ANY TABLE
SQL> REVOKE create session FROM demo1;
L'utente demo5 ancora ha le grant di connessione.
-- Term. #2
SQL> conn demo5/oracle;
Connected.
-- Term. #1 accediamo come amministratore e revochiamo le grant di sessione a demo5.
SQL> revoke create session from demo5;
Revoke succeeded.
-- Term. #2 accedendo come demo5, Oracle risponde che l'utenza non ha più le grant,
SQL> conn demo5/oracle;
ERROR:
ORA-01045: user DEMO5 lacks CREATE SESSION privilege; logon denied
SESSION_PRIVS e USER_SYS_PRIVS sono viste del Dizionario Dati che visualizza i privilegi di sistemi posseduti dallo user nella sessione in atto.
CREATE TABLE
CREATE ANY TABLE
CREATE ANY SESSION
DELETE ANY TABLE
CREATE SESSION
CREEATE PROCEDURE
CREEATE VIEW
CREEATE SEQUENCE
I privilegi suddetti sono visibili nella tabella system_privilege_map
Apriamo 3 terminali.
-- Term. #1 accediamo al primo come amministratore.
SQL> show user;
USER is "SYS"
SQl> create user demo5 identified by oracle default tablespace demo_tbs1 quota 10m on demo_tbs1;
SQL> GRANT create session TO demo1 WITH ADMIN OPTION;
-- Term. #3 l'utente demo5 non ha le grant di connessione al db.
SQL> conn demo5/oracle;
ERROR:
ORA-01045: user DEMO5 lacks CREATE SESSION privilege; logon denied
-- Term. #2 accediamo come demo1 e diamo le gant di connessione a demo5.
SQL> conn demo1/oracle;
Connected.
SQL> GRANT CREATE SESSION TO demo5;
Grant succeeded.
-- Term. #3 questa volta riesco ad accedere come demo5.
SQL> conn demo5/oracle;
connected.
-- Term. #1 accediamo come amministratore e revochiamo che le grant di sessione a demo1.
I privilegi suddetti sono visibili nella tabella system_privilege_map
Apriamo 3 terminali.
-- Term. #1 accediamo al primo come amministratore.
SQL> show user;
USER is "SYS"
SQl> create user demo5 identified by oracle default tablespace demo_tbs1 quota 10m on demo_tbs1;
SQL> GRANT create session TO demo1 WITH ADMIN OPTION;
-- Term. #3 l'utente demo5 non ha le grant di connessione al db.
SQL> conn demo5/oracle;
ERROR:
ORA-01045: user DEMO5 lacks CREATE SESSION privilege; logon denied
-- Term. #2 accediamo come demo1 e diamo le gant di connessione a demo5.
SQL> conn demo1/oracle;
Connected.
SQL> GRANT CREATE SESSION TO demo5;
Grant succeeded.
-- Term. #3 questa volta riesco ad accedere come demo5.
SQL> conn demo5/oracle;
connected.
-- Term. #1 accediamo come amministratore e revochiamo che le grant di sessione a demo1.
SQL> REVOKE create session FROM demo1;
L'utente demo5 ancora ha le grant di connessione.
-- Term. #2
SQL> conn demo5/oracle;
Connected.
-- Term. #1 accediamo come amministratore e revochiamo le grant di sessione a demo5.
SQL> revoke create session from demo5;
Revoke succeeded.
-- Term. #2 accedendo come demo5, Oracle risponde che l'utenza non ha più le grant,
SQL> conn demo5/oracle;
ERROR:
ORA-01045: user DEMO5 lacks CREATE SESSION privilege; logon denied
SESSION_PRIVS e USER_SYS_PRIVS sono viste del Dizionario Dati che visualizza i privilegi di sistemi posseduti dallo user nella sessione in atto.