数据库安全和最小权限原则
用户只拥有执行其任务所需的最小权限,并禁止所有未被允许的权限.
默认下SYS和SYSTEM拥有所有权限.
除了使用口令配置文件外,还需要遵循一些最佳实践,特别熟授予public账户的权限以及一些实例参数.
public角色隐式授予每个用户,为public授予任何权限,相应的权限就授予连接到数据库的每个人.
默认下public有很多权限,尤其有能执行PL/SQL使用程序包的权限
select count(*) from dba_tab_privs
where grantee='PUBLIC'
---------
21521
select table_name from dba_tab_privs
where grantee='PUBLIC' and privilege='EXECUTE' and table_name like 'UTL%';
TABLE_NAME
----------------
UTL_FILE
UTL_RAW
UTL_TCP
UTL_INADDR
UTL_SMTP
UTL_HTTP
UTL_URL
UTL_ENCODE
UTL_GDK
UTL_COMPRESS
UTL_I18N
UTL_LMS
UTL_NLA_ARRAY_DBL
UTL_NLA_ARRAY_FLT
UTL_NLA_ARRAY_INT
UTL_NLA
UTL_REF
UTL_COLL
UTL_MATCH
UTL_DBW