passwd 改完密码,chage -l 显示的上次修改时间没变,是没改成吗?

passwd 回显「所有身份验证令牌已经成功更新」,密码通常就是真的改了;chage -l 里那个「上次密码修改时间」没动,问题多半出在「你看的和改的不是同一个地方」。这个字段来自 /etc/shadow 的第三列——一个从 1970-01-01 累计的天数,passwd 改密成功时会刷新它,以下几种情况会让它看起来纹丝不动。

逐条核对

  1. 账号名核对。chage -l 用户名 和 passwd 操作的是不是同一个账号?root 给别的账号改密时尤其容易看串行;
  2. 机器核对。管理多台同名环境时,确认 SSH 窗口连的就是目标机——hostname 先敲一下再动手,是老运维的肌肉记忆;
  3. 直看字段。grep 用户名 /etc/shadow,第三列就是上次改密的天数值,拿当前日期减一下对不对得上,比隔着工具看更直观;
  4. 再改一次立即复查。passwd 改密成功后马上重查 shadow 第三列,数字变了就说明链路正常,之前是观察方式的问题;
  5. 校准基准。确有历史遗留(比如从旧系统迁移过来天数错乱),用 chage -d YYYY-MM-DD 用户名 把基准日手工校准,不要直接编辑 shadow 文件。

顺手做对的事

企业环境里 chage 的价值在密码策略:chage -M 90 -W 7 用户名 设定密码最长 90 天、提前 7 天告警,配合等保对密码时效的要求正好;批量下发用 chage -M 90 -W 7 -d 0 用户名 还能让用户下次登录强制改密。

相关提示

  • shadow 第三列为空或为 0 有特殊语义(如强制下次登录改密),别手工填数;
  • chage 只看本机 /etc/shadow——接了 LDAP 或域的账号,密码策略在目录服务侧管,本机改了也不生效,这是「改了没反应」的另一个常见来路;
  • 密码时效只管「到期」,密码强度要靠 PAM 的复杂度策略另配;
  • 改密操作留痕:谁在什么时间改了哪台机器哪个账号,运维台账记一笔,审计时不抓瞎。

Linux 基线加固与密码策略统一下发,需要帮企业做同类梳理可以联系我们。


企业存储选型参考|贵州诚鑫致达科技

企业数据存储与备份,可参考群晖在售机型:DS425+(4 盘位起步)· RS2423+(12 盘位机架式进阶)。企业存储规划与后续运维,搜「诚鑫致达」能找到我们。