User account has expired

今天用xshell登录服务器的时候,突然发现登录不了了,用户名和密码肯定是对的。xshell上也没有报密码错误,直接闪退了。

后来用root用户登录服务器,修改用户密码,报了一个错误,User account has expired。google了一下,大致意思就是说账户密码过期了,所以不能登录了。

google了一些解决办法,可以通过chage密码来解决
首先查看一下root用户的信息

A0304003:~ # chage -l root
Minimum:    -1
Maximum:    -1
Warning:    -1
Inactive:   -1
Last Change:        May 16, 2013
Password Expires:   Never
Password Inactive:  Never
Account Expires:    Never

再查看一下登录不了的用户信息

A0304003:~ # chage -l hello
Minimum:    0
Maximum:    360
Warning:    7
Inactive:   7
Last Change:        Jan 06, 2014
Password Expires:   Jan 01, 2015
Password Inactive:  Jan 08, 2015
Account Expires:    Never

从上面的信息可以看到,hello这个用户密码如果360天不修改就不能登录了

我们通过chage命名,把相关值设置的和root一样

A0304003:~ # chage hello
Changing aging information for hello.
    Minimum Password Age [-1]: -1
    Maximum Password Age [1]: -1
    Password Expiration Warning [-1]: -1
    Password Inactive [-1]: -1
    Last Password Change (YYYY-MM-DD) [2014-01-06]: 
    Account Expiration Date (YYYY-MM-DD) [1969-12-31]: -1
Aging information changed.

A0304003:~ # chage -l hello
Minimum:    -1
Maximum:    -1
Warning:    -1
Inactive:   -1
Last Change:        Jan 06, 2014
Password Expires:   Never
Password Inactive:  Never
Account Expires:    Never

这样hello的账户密码就不会过期了,但是这样设置后还不能用hello这个账户登录,还需要通过passwd这个命令对hello这个账户再设置一下密码。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当出现 "the password has expired" 的错误提示时,表示Oracle数据库中的密码已经过期了。密码过期是为了增强数据库的安全性,强制用户定期更改密码。为了解决该问题,你可以按照以下步骤进行操作: 1. 打开命令提示符或者终端窗口。 2. 输入 `sqlplus` 命令并按回车键,以进入Oracle数据库的命令行界面。 3. 输入你的用户名和密码,并按回车键登录到数据库。如果你的密码已过期,系统会提示你更改密码。 4. 输入以下命令来查看密码的有效期限: ``` SELECT * FROM dba_profiles WHERE profile = 'DEFAULT' AND resource_name = 'PASSWORD_LIFE_TIME'; ``` 这将显示你当前密码的有效期限。默认情况下,密码的有效期限为180天。 如果你希望取消密码过期的限制,你可以执行以下操作: 1. 使用管理员权限登录到Oracle数据库。 2. 执行以下命令来修改默认配置文件中的密码有效期限: ``` ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED; ``` 这将取消密码的有效期限限制,使密码永不过期。 另外,如果你通过Navicat连接Oracle数据库时出现 "not logged on" 的错误提示,可能是因为你的数据库账户被锁定了。你可以使用以下命令来解锁账户: ``` ALTER USER 用户名 IDENTIFIED BY 密码 ACCOUNT UNLOCK; ``` 请注意,上述命令中的 "用户名" 和 "密码" 需要替换为你实际使用的用户名和密码。 总结回答如下: 当出现 "the password has expired" 的错误提示时,表示Oracle数据库中的密码已过期。你可以通过进入Oracle数据库命令行界面,输入用户名和密码登录,然后查看密码的有效期限。如果你想取消密码过期的限制,可以使用管理员权限登录到数据库并执行相应的命令来修改密码的有效期限。此外,如果你的数据库账户被锁定,可以使用相应的命令来解锁账户。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值