您的位置:首页 > 数据库 > Oracle

oracle用户权限操作(2)

2015-07-29 17:09 483 查看
 1. 创建用户

create user 用户名 identfied by 密码;

示例:

SQL> create user sqy identified by sqy;

用户已创建。

2.删除用户

drop user 用户名[cascade];删除用户时,如果已经创建表,那么就需要一个参数,cascade把表也删了

示例:

SQL> drop user sqy cascade;

用户已删除。

系统权限:用户对数据库的相对权限。

对象权限:用户对其他用户的数据对象的操作权限。

新创建的用户默认是没有权限登录到数据库的,要用sys活system用户给他授权才可以。

示例:

给sqy用户授权

SQL> grant connect to sqy;

授权成功。

如果想让sqy用户对其他用户下的表进行查询,就要用resource

resource可以让用户在其他用户表空间建表。

示例:

SQL> grant resource to sqy;

授权成功。

如果想设置只允许sqy查询scott用户的emp表不允许修改

SQL> grant select on emp to sqy;

如果scott用户想收回权限

revoke select on 表名 from 用户名;

示例:

scott用户把sqy用户对scott用户查询权限收回

SQL> revoke select on emp from sqy;

撤销成功。

对权限的维护

如果scott用户希望sqy这个用户可以去查询emp表,还希望sqy也能把这个权限授给被人

--如果是对象权限就加入with grant option

示例:

scott用户下:

SQL> conn scott/oracl;

已连接。

SQL> grant select on emp to sqy with grant option;

SQL> conn sqyy;

已连接。

SQL> grant select on scott.emp to shen;

授权成功。

--如果是系统权限

system给sqy权限时:

SQL> grant connetct to sqy with admin option;

(1)使用profile管理用户口令

概述:profile是口令限制,资源限制的命令集合,当建立数据库时,oracle会自动建立名称为default的profile,当建立用户没有指定profile选项,那oracle就会将default分配给用户。

(账户锁定)

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

例子:指定scott这个用户最多只能尝试3次登录,锁定时间为2天。

创建profile文件

sql>create profile 规则名 limit failed_login_attempts 3 password_lock_time 2;3是次数2是天

示例:

SQL> create profile sqysqy limit failed_login_attempts 3 password_lock_time 2;

配置文件已创建

指定sqy到sqy用户

alter user 用户名 profile 规则名;

示例:

SQL> alter user sqy profile sqysqy;

2.

用户已更改。

然后登录sqy用户输入密码三次错误再输入正确的

请输入用户名:  sqy

输入口令: ***

ERROR:

ORA-28000: the account is locked

(2)给账户解锁

SQL> alter user sqy account unlock;

用户已更改。

(3)终止口令

为了让用户定期修改密码可以使用终止口令的指令来完成,同样这个命令也需要dba身份操作。

例子:给前面创建的用户sqy创建一个profile文件,要求该用户每隔10天,要修改自家的登录密码,宽限期为2天。

SQL>create profile 规则名 limit password_life_time 10 password_grance_timen 2;

SQL>alter user sqy profile 规则名;使规则生效

(4)口令历史

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

示例:

1)建立profile

SQL>create profile 文件名 limit password_life_time 10 password_grace_time 2 password_rcuse_time 10;

password_rcuse_time //指定口令可重用时间即10天后就可以重用。

删除profile

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

SQL>drop profile 文件名 [cascade];cascade把相关的东西都删了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: