ITPub博客

首页 > 数据库 > Oracle > oracle如何修改单个用户密码永不过期

oracle如何修改单个用户密码永不过期

原创 Oracle 作者:mengmie 时间:2020-08-24 08:31:33 0 删除 编辑

  Oracle的密码过期规则是用Profile来管理的,系统默认只有一个Profile(DEFAULT),该profile的密码过期规则为180天;而所有的用户都使用该DEFAULT的profile,所以如果修改DEFAULT的过期规则会影响所有的用户。如果你想修改某个用户的密码让其永不过期,则需要新建一个profile,修改该profile的过期规则为无限期,这样该用户的过期规则会改变,并且不会影响到其他用户。

  首先查看用户的proifle是哪个,一般是default:

  sql>SELECT username,PROFILE FROM dba_users;

  USERNAME                       PROFILE

  ------------------------------ ------------------------------

  SCOTT                          DEFAULT

  EXFSYS                         DEFAULT

  ORDSYS                         DEFAULT

  MDSYS                          DEFAULT

  FLOWS_FILES                      DEFAULT

  OMUADM                         DEFAULT

  SYSTEM                         DEFAULT

  SYS                            DEFAULT

  VPXADMIN                       DEFAULT

  2、查看指定概要文件(如default)的密码有效期设置:

  sql>SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';

  PROFILE                        RESOURCE_NAME                    RESOURCE

  ------------------------------ -------------------------------- --------

  LIMIT

  ----------------------------------------

  DEFAULT                        PASSWORD_LIFE_TIME               PASSWORD

  180

  3、如果在这里将密码有效期由默认的180天修改成“无限制”,则影响的是所有用户:

  sql>ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

  修改之后不需要重启动数据库,会立即生效。

  注意:修改后,还没有被提示ORA-28002警告的帐户不会再碰到同样的提示;

  已经被提示的帐户必须再改一次密码,例如

  $sqlplus / as sysdba

  sql> alter user vpxadmin  identified by <原来的密码> ----不用换新密码

  那么如果你要为某个用户设置密码永不过期,可以这样来做。比如修改vpxadmin用户的密码过期规则为无限期UNLIMITED,只需要三个步骤:

  1. 新建profile "VPXADMIN_UNLIMIT",规则与DEFAULT一致(因为一个profile中包含很多的项目,我们此时只想修改过期规则,其他的不变)

  2. 修改profile "VPXADMIN_UNLIMIT",修改过期规则为UNLIMITED

  3. 将'VPXADMIN'用户适用新的profile "PASSWD_UNLIMIT"

  1. 创建新的profile(VPXADMIN_UNLIMIT)复制DEFAULT的Script

  CREATE PROFILE "VPXADMIN_UNLIMIT" LIMIT

  SESSIONS_PER_USER UNLIMITED

  CPU_PER_SESSION UNLIMITED

  CPU_PER_CALL UNLIMITED

  CONNECT_TIME UNLIMITED

  IDLE_TIME UNLIMITED

  LOGICAL_READS_PER_SESSION UNLIMITED

  LOGICAL_READS_PER_CALL UNLIMITED

  COMPOSITE_LIMIT UNLIMITED

  PRIVATE_SGA UNLIMITED

  FAILED_LOGIN_ATTEMPTS 10

  PASSWORD_LIFE_TIME 180

  PASSWORD_REUSE_TIME UNLIMITED

  PASSWORD_REUSE_MAX UNLIMITED

  PASSWORD_LOCK_TIME 1

  PASSWORD_GRACE_TIME 7

  PASSWORD_VERIFY_FUNCTION NULL;

  然后查看下

  SELECT  profile FROM dba_profiles;PROFILE

  ------------------------------

  DEFAULT

  VPXADMIN_UNLIMIT

  已创建成功。

  --2. 修改新建的profile(VPXADMIN_UNLIMIT),密码过期为不过期

  ALTER profile VPXADMIN_UNLIMIT limit PASSWORD_LIFE_TIME UNLIMITED;

  --3. 修改用户的Profile为新的profile

  alter user VPXADMIN  profile VPXADMIN_UNLIMIT;

  再验证一下,果然就可以了!


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69920885/viewspace-2713993/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2020-08-18

  • 博文量
    14
  • 访问量
    169944