[Oracle]用户创建以及权限管理

来源:互联网 发布:网络学校国家承认吗 编辑:程序博客网 时间:2024/05/19 01:11

#创建用户需要管理员权限      SQL> create user lzz identified by lzz123;//这样创建了一个普通用户,但是还没有解锁  #给用户修改密码      #给自己的话:          SQL> password          更改 SCOTT 的口令          旧口令: ****          新口令:****          重新键入新口令:****          口令已更改      #给用户的话:          SQL> alter user lzz identified by lzz;  #删除用户(拥有DBA)权限,或者拥有drop user的权限,不可以自己删除自己  #如果要删除的用户已经创建了表,那么就需要在删除时带一个参数cascade    SQL> drop user lzz      用户已删除。   #拥有给其他用户赋予权限的用户有sys、system,权限的种类很多,有100多种  #角色:角色是一组权限的集合,将角色赋给一个用户,这个用户就拥有了这个角色中的所有权限。      自定义角色:用户根据需要自己定义权限给角色      预定义角色:系统预先定义好的(connec,dba,resource)          语句是:grant connect to lzz;   #数据对象:表和视图,其他还有约束、序列、函数、存储过程等等  #Oracle的权限有2种      系统权限:指的是用户对数据库的相关权限      对象权限:用户对其他用户的数据对象的操作权限(select,insert,update,delete,all)      命令:grant select on emp to lzz;  #收回权限的语法    例如:revoke select on emp from lzz;   #对权限的维护工作      权限的传递:            --如果是对象权限就加入with grant option          例如:grant select on emp to lzz with grant option;          --如果是系统权限就加入with admin option          例如:grant connect to xiaoming with admin option;  #使用profile管理用户口令      profile是口令限制,资源限制的命令集合      (1)账户锁定:指定用户登录时最多可以输入密码的次数,也可以指定锁定                  的时间,一般由dba用户执行该命令;              案例:创建profile文件                      SQL> create profile aa limit                        2  failed_login_attempts 3 password_lock_time 2;                      配置文件已创建。                      SQL> alter user qinke profile aa;                      用户已更改。           #三次错误之后再写正确的密码              SQL> conn qinke/qinke;                      ERROR:                      ORA-28000: the account is locked    (2)给账户解锁:                    SQL> alter user qinke account unlock;                      用户已更改。    (3)终止口令:为了让用户定期修改密码可以使用终止口令来完成          案例:每个10天修改,宽限为2天(单位均以天计算)              SQL> create profile aaa limit password_life_time 10 password_grace_time 2;                  配置文件已创建                               SQL> alter user qinke profile aaa;                            用户已更改。      #删除profile            drop profile password_his [cascade]; 
这是几个小操作:

1 创建一个对象lzz,并使其可以登录(系统权限)

 

 

 

给此用户添加一个可以预定义的角色

成功。

2 lzz这个用户可以创建表

 

3 lzz这个用户可以查询scott的emp表(对象权限)

 

4 scott用户回收lzz查询scott的emp表的查询权限

 

 

5 lzz获得scott的emp表的查询权限并且传递给qinke

 

?当scott把emp表的查询权限回收了,那么qinke会怎么样
答案是qinke也无法再查询到emp表的信息了(株连)

 


 


 

1 0