PS:中括号表示可选项。数据库
ORACLE 用户管理 安全
1.建立用户session
CREATE USER username --用户名测试
IDENTIFIED BY password --密码spa
[ACCOUNT LOCK|UNLOCK] --表示用户是否锁定状态对象
[PASSWORD EXPIRE] --表示密码在登陆后立刻失效it
示例:CREATE USER test IDENTIFIED BY test ACCOUNT LOCK PASSWORD EXPIRE; (建立完成后并不能立刻登陆,需赋予session权限)io
2.修改用户 test
ALTER USER username --用户名登录
[IDENTIFIED BY password] --密码
[ACCOUNT LOCK|UNLOCK] --表示用户是否锁定状态
[PASSWORD EXPIRE] --表示密码在登陆后立刻失效
示例: ALTER USER test ACCOUNT UNLOCK;
3.删除用户
DROP USER name [CASCADE] --若是用户拥有数据库对象,就必须使用cascade关键字。
ORACLE 权限管理
1.权限的概念与做用
表示:权利的责任范围;系统中设置的安全规则或者安全策略。
2.权限的分类
1)系统权限:可否在数据库上完成某个动做;例如建立会话,建立表、查询任意表;
2)对象权限:可否在某个数据库对象上完成某种操做;例如:查询emp表,修改dept表。
3.权限的授予与回收
1)系统权限的授予
GRANT priv TO user|role [WITH ADMIN OPTION];--是否能够级联授予。
示例:GRANT create session TO test WITH ADMIN OPTION;
授予用户建立会话的权限。--才能链接数据库。 此时test能够链接到数据库,同时也能够受权其余用户的会话权限。
2)系统权限的回收
REVOKE priv FORM user|role;
示例:REVOKE create session FROM test; PS:系统权限的授予有级联,回收却没有级联收回。
4.对象权限的授予与回收。
1)对象权限的授予:
GRANT priv [(col,...)] ON object TO user|role [WITH GRANT OPTION];
示例:用system用户建立了表 t(id)。
GRANT select,update(t) ON system.t to test2 with grant option; 而后用test2 登陆后就能够查询和更新t表。
select * from system.t ;
2)对象权限的回收: REVOKE priv[(col,...)] ON object FROM user|role;
示例:REVOKE update on system.t FROM tets2; //回收update权限的时候,收回权限只能收回整个表的update权限。 注意:对象权限的回收是级联的,即若是此时test2已将权限再次分配给test1.那么test1的权限也会被收回。
ORACLE 角色管理
1.角色的概念与做用
本质上是权限的集合;用于简化权限的管理。
2.角色的建立于删除
1)角色建立: CREAET ROLE role;
示例:建立一个“员工”角色; CREATE ROLE employee;
2)删除角色: DROP ROLE role; DROP REOLE employee;
3.角色上的权限授予与回收(与用户权限的授予与回收相似)
1)系统权限的授予:
GRANT pirv TO role [WITH ADMIN OPTION];
示例:授予角色 建立session的权限。(全部与角色关联的用户都拥有该权限。)
GRANT create session TO employee with admin option;
2)系统权限的回收:
REVOKE priv FROM role;
示例:回收角色 建立session的权限。(全部与角色关联的用户都失去该权限。)
REVOKE create session FROM employee;
3)对象权限的授予:
GRANT [priv(col...)] ON object TO role;
示例:将system的表t3的查询权限授予employee角色。 GRANT select ON system.t3 TO employee;
4)对象权限的回收: REVOKE [priv(col...)] ON object FROM role; 示例:将system表t3的查询权限收回。
REVOKE select ON SYSTEM.T3 FROM employee;
4.用户与角色关联(用户上授予角色)
GRANT role TO user; 示例:将test1,test2关联角色employee;
GRANT employee TO test1,test2;
PS:经测试:若是在授予角色以前用户已登陆,则须要从新登陆后角色对应的权限才能生效。
5.用户与角色取消关联(用户上回收角色)
REVOKE role FROM user; 示例:将用户test1,test2与角色employee取消关联。
PS:经测试:若是在回收角色以前用户已登陆,则须要从新登陆后角色对应的权限才能收回。