oracle的用户安全
作为dba一定要保证数据库的安全,备份是要时刻准备的,个人觉得数据库就好比一个座楼
,要想最好的的保护楼,,最好是整个楼没有窗户和门等入口,我可以限制进入大楼的人,
对可以进入楼的人,根据他们的实际情况,限制他们在楼里的活动情况.我门数据库也是一样的
数据库里的用户根据不同的应用就有不同的权限,下面我就个人对数据库用户安全提出个方案
数据库的权限分为实体权限和系统权限:
1.
系统权限
一般用户分为开发用户,dba用户
开发用户一般权限:
角色:
connect,resource
系统权限:
unlimited tablespace
所以开发用户创建如下:
SYS at omovo> create user movo_new_dba identified by skate_dba
2 default tablespace movo_tbs
3 temporary tablespace temp;
User created.
SYS at omovo>
SYS at omovo> grant connect,resource,unlimited tablespace to skate_dba;
Grant succeeded.
用户登录,查看自己具有的系统权限:
select * from user_sys_privs
用户登录,查看自己拥有的角色:
select * from role_sys_privs
查看数据库共拥有的多少个角色
select * from dba_roles;
查看用户把什么权限授给了哪些表
select * from user_tab_privs
2.
数据库的实体权限管理:
为了方便管理,可以把一个用户下的所由对象的所有权限授予一个角色,如果想得到这个用户的所有权限,可以授予这个角色
数据库的实体权限分类: 表,视图,序列,过程,快照
通过下面的语句来生成需要授权的所有实体的语句
select
'grant all on '||object_name || ' to movo_new_role;' from user_objects where object_type in
('TABLE','SEQUENCE','PROCEDURE','VIEW')
1.创建角色
SYS at omovo> create role skate_role;
Role created.
2.把数据库实体的权限授权给创建的角色
执行上面语句的查询结果,
3.把角色授权给相应的用户
SYS at omovo> grant skate_role to skate_dba;
可以删除角色
SYS at omovo> drop role skate_role
*.建议数据库最低安全用户:
开发用户: connect,resource,unlimited tablespace(可以根据你的需要,创建更安全的角色)
管理用户: connect,resource,dba
*.用户要是暂时不用,可以先锁定用户:
SYS at omovo> alter user perfstat account lock;
为用户解锁:SYS at omovo> alter user perfstat account unlock;