欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Oracle 数据库一一用户账号密码权限管理

程序员文章站 2023-03-07 23:39:52
用户账号密码权限管理登陆管理员账号sqlplus / as sysdba或者[不适合]sqlplus sys/sys@orcl as sysdba修改用户密码alter user username account unlock identifed by password username是用户名 password是密码1 创建用户create user xiaoming identified by oracle;2 修改用户密码1 如果给自己修改密码可以直接使用SQ...

用户账号密码权限管理

登陆管理员账号
sqlplus / as sysdba
或者[不适合]
sqlplus sys/sys@orcl as sysdba

修改用户密码
alter  user  username account  unlock  identifed  by  password username是用户名 password是密码
1 创建用户

create user xiaoming identified by oracle;

2 修改用户密码
  • 1 如果给自己修改密码可以直接使用

    SQL> password 用户名或passw

  • 2 如果给别人修改密码则需要具有dba的权限,或是拥有alter user的系统权限

    SQL> alter user 用户名 identified by 新密码

3 给予角色登陆

grant connect to xiaoming;

4 给予角色所属权限

grant connect to xiaoming;

  • 现在说下对象权限,现在要做这么件事情:

  • 01 希望xiaoming用户可以去查询scott的emp表

      grant select on scott.emp to xiaoming
    
  • 02 希望xiaoming用户可以去修改scott的emp表

      grant update on scott.emp to xiaoming
    
  • 03 希望xiaoming用户可以去修改/删除,查询,添加scott的emp表

      grant all on scott.emp to xiaoming
    
  • 04 scott希望收回xiaoming对emp表的查询权限

      revoke select on scott.emp from xiaoming
    
5 权限的传递
  • 01 把这个权限传递给别人
希望xiaoming用户可以去查询scott的emp表/还希望xiaoming可以把这个权限传递给别人。
--对象权限,就加入with grant option
grant select on emp to xiaoming with grant option
--系统权限 with admin option
grant select on emp to xiaoming with admin option

with admin option与with grant option区别

  1. with admin option用于系统权限授权,with grant option用于对象授权

  2. 此用户可把此系统权限授予其他用户或角色,但收回这个用户的系统权限时,这个用户已经授予其他用户或角色的此系统权限不会因传播无效,如授予A系统权限create session with admin option,然后A又把create session权限授予B,但管理员收回A的create session权限时,B依然拥有create session的权限,但管理员可以显式收回B create session的权限,即直接revoke create session from B.

  3. with grant option用于对象授权时,被授予的用户也可把此对象权限授予其他用户或角色,不同的是但管理员收回用with grant option授权的用户对象权限时,权限会因传播而失效,如grant select on table with grant option to A,A用户把此权限授予B,但管理员收回A的权限时,B的权限也会失效,但管理员不可以直接收回B的SELECT ON TABLE 权限。

6 使用profile管理用户口令

一、账户锁定

概述:指定该账户(用户)登陆时最多可以输入密码的次数,也可以指定用户锁定的时间(天)一般用dba的身份去执行该命令。

1.  指定scott这个用户最多只能尝试3次登陆,锁定时间为2天,让我们看看怎么实现。

--创建profile文件
SQL> create profile lock_account limit failed_login_attempts 3 password_lock_time 2;
SQL> alter user scott profile lock_account;

2.  给账户(用户)解锁

SQL> alter user scott account unlock;

3.  终止口令

  为了让用户定期修改密码可以使用终止口令的指令来完成,同样这个命令也需要dba的身份来操作。
例子:给前面创建的用户test创建一个profile文件,要求该用户每隔10天要修改自己的登陆密码,宽限期为2天。看看怎么做。

SQL> create profile myprofile limit password_life_time 10 password_grace_time 2;
SQL> alter user test profile myprofile;

二、口令历史

  概述:如果希望用户在修改密码时,不能使用以前使用过的密码,可使用口令历史,这样oracle就会将口令修改的信息存放到数据字典中,这样当用户修改密码时,oracle就会对新旧密码进行比较,当发现新旧密码一样时,就提示用户重新输入密码。

例子:
1)建立profile

SQL>create profile password_history limit password_life_time 10 password_grace_time 2 
password_reuse_time 10 //password_reuse_time指定口令可重用时间即10天后就可以重用  

2)分配给某个用户

SQL> alter user test profile password_history;

三、删除profile

  概述:当不需要某个profile文件时,可以删除该文件。

SQL> drop profile password_history 【casade】

注意:文件删除后,用这个文件去约束的那些用户通通也都被释放了。。
加了casade,就会把级联的相关东西也给删除掉

本文地址:https://blog.csdn.net/weixin_44807854/article/details/107325327