修改Linux用户密码失败

问题描述

可以使用用户及密码登录系统,但使用password命令,修改用户密码时提示如下信息。
password:Permission denied

问题原因

软链接指向不正确。

解决方案

  1. 首先排查问题原因,执行如下命令,确认相关命令的文件属性正常。
    cd /etc
    lsattr passwd group shadow gshadow
    
    系统返回如下信息。
  2. 执行如下命令,查看安全日志,确认相关命令被记录。
    more /var/log/secure
    
    内容如下图所示。
  3. 每个启用PAM的应用程序,在/etc/pam.d目录中都有对应的同名配置文件根据日志中的报错内容,搜索关键字,定位可能变更的文件位置。
    cd /etc/pam.d
    find /etc/pam.d/   -name "*" | xargs  grep  "remember=5"
    
  4. 在以上步骤中得知,/etc/pam.d下的system-auth软连接指向不正确,正常情况中,该软连接应当指向system-auth-ac。执行如下命令,备份当前system-auth后,重新创建该软连接。
    mv system-auth system-auth.bak
    ln -s system-auth-ac system-auth
    
    如下图所示。
  5. 重新执行修改用户密码的操作。

适用于

  • 云服务器ECS