用户管理
.使用profile 管理用户口令
概述: profile是口令限制,资源限制的命令集合,当建立数据库时,oracle会自动建立名为 default 的 profile。当建立用户没有指定 profile 选项,那 oracle 就会将 default 分配给用户。在oracle数据库上有很多用户,但是每个用户的权限是不一样的,看到的东西是不一样的。
(1)账户锁定
概述:指定该账户(用户)登录时最多可以输入密码的次数。也可以指定用户锁定的时间,单位(天),一般用户没有这个权限,要 以dba的身份执行该命令。
比如:指定 pangzi这个用户最多只能尝试 3 次登录,超过 3 次登录错误就锁定该账户 2 天。
创建profile文件
sql> create profile login_account limit failed_login_attempts 3 password_lock_time 2;
分配给用户
sql> alter user pangzi profile lock_account;
(2)账户解锁:
要是执行了语句后,pangzi登录失败被锁住了,那么我们可以通过删除对应的profile文件即可。也可以修改我们自己系统的时间。但是,使用现实我们使用oracle都是作为服务器数据库通过远程连接的,就很难修改那个系统的时间了。
要是帐号锁住了,但是又要登录用数据库,那么我们就可以联系管理员来修改 pangzi 的权限来解锁 ,这个当然需要是 dba 权限才可以的。
sql> alter user pangzi account unlock;
(3)终止口令
因为同一个密码用久了会比较危险,为了用户的安全,,可以让用户定期修改密码,这个可以通过终止口令来实现,同样这个命令也需要 dba 身份来操作。
例子:给用户 pangzi 创建一个profile文件,要求该用户每个15天就要修改密码,期限为2天
创建profile文件
sql> create profile mychang_pass limit password_life_time 15 password_grace_time 2;
指定用户
sql> alter user pangzi profile chang_pass;
(4)口令历史
概述:如果希望用户在修改密码的时候, 不能使用以前用过的密码,可以使用口令历史,这样oracle就会将口令历史的信息存放在数据字典中。那么当用户给修改密码时,oracle就会对新旧密码进行检验,如果与旧密码相重复,那么就提示用户重新输入密码。
创建profile文件
sql> create profile mypass_history limit password_life_time 10 password_grace_time 2 password_reuse_time 10;
其中,password_reuse_time 10 表示密码可以
重用要在10天后。
分配给用户;
sql> create profile mypass_history limit password_life_time 10 password_grace_time 2 password_reuse_time 10;
(5)删除profile文件
概述:当不需要某个profile文件时,可以删除该文件。那么,以前用被这个文件约束的用户都会不再受约束了。
sql> drop profile mypass_history;