0

0

如何解决普通用户无法修改密码

聖光之護

聖光之護

发布时间:2025-03-01 13:52:01

|

514人浏览过

|

来源于php中文网

原创

一、故障现象
SUSE Linux Enterprise Server 11 SP3 系统中,普通用户无法修改密码,但root用户可以正常修改。错误日志如下:

如何解决普通用户无法修改密码

系统日志显示:

Jun 16 11:35:47 ZJHZ-CMREAD-CGTEST17 passwd[16285]: password change failed, pam error 21 - account=bcwap, uid=3954, by=3954
Jun 16 11:36:29 ZJHZ-CMREAD-CGTEST17 su: (to zabbix) zabbix on /dev/pts/2
Jun 16 11:36:37 ZJHZ-CMREAD-CGTEST17 passwd[16712]: User zabbix: Authentication information cannot be recovered
Jun 16 11:36:37 ZJHZ-CMREAD-CGTEST17 passwd[16712]: password change failed, pam error 21 - account=zabbix, uid=6606, by=6606

二、故障分析
初步怀疑原因如下:
  1. /etc/passwd/etc/shadow 文件权限问题:与其他正常主机对比后排除。
  2. passwd 命令权限或文件被修改:同类主机对比后排除。
  3. 动态链接库异常:使用 ldd 命令检查,所有链接库文件均正常,且版本一致。root用户可正常修改密码,此可能性较小。
  4. 新建用户测试:新建用户也无法修改密码,排除用户配置文件问题。
  5. PAM 配置文件问题:日志中 pam error 21 提示,可能性最大。 common-authcommon-passwordcommon-accountcommon-sessionsusshd 等文件均可能存在问题。第三方安全加固软件可能修改了 common-authcommon-password 文件。

联系SUSE原厂技术支持寻求帮助。

精美淘宝客单页面 zblog模板
精美淘宝客单页面 zblog模板

采用zblog修改的模板,简单方便,直接解压上传到空间即可使用,页面简单,适合SEO,导航,次导航,最新文章列表,随机文章列表全部都有,网站采用扁平结构,非常适用淘宝客类小站,所有文章都在根目录下。所有需要修改的地方在网页上各个地方都有标注说明,一切在网站后台都可以修改,无须修改任何程序代码,是新手的不二选择。后台登陆地址: 域名/login.asp用户名:admin (建议不要修改)密码:adm

下载

三、故障解决
SUSE原厂工程师的排查步骤:
  1. 检查PAM配置文件,未发现明显问题。注释部分规则后问题依旧。
  2. 使用 strace 命令跟踪 passwd 命令执行过程:
    strace -o /tmp/pw.log -ft su - testuser -c "passwd"

    日志分析未发现异常。

  3. 再次检查 common-password 文件:将所有规则还原至初始设置后,问题解决。 common-password 文件加固后和初始配置对比如下:
加固后:
auth required pam_unix2.so nullok
account required pam_unix2.so
session required pam_unix2.so
password required pam_pwcheck.so nullok
password required pam_unix2.so nullok use_first_pass use_authtok
password required pam_unix.so remember=5 use_authtok md5 shadow
password required pam_cracklib.so min=disabled,12,8,6,5 max=40 passphrase=3 match=4 similar=deny random=42 enforce=everyone retry=3
初始值:
password required pam_pwcheck.so nullok cracklib
password required pam_unix2.so nullok use_authtok

四、总结
问题最终得到解决。SUSE工程师建议:common-authcommon-passwordcommon-accountcommon-session 四个文件应分别只包含与其对应策略相关的配置(auth, password, account, session)。安全加固厂商将auth和session相关配置写入common-password文件导致配置混乱,某些模块重复加载。

相关专题

更多
session失效的原因
session失效的原因

session失效的原因有会话超时、会话数量限制、会话完整性检查、服务器重启、浏览器或设备问题等等。详细介绍:1、会话超时:服务器为Session设置了一个默认的超时时间,当用户在一段时间内没有与服务器交互时,Session将自动失效;2、会话数量限制:服务器为每个用户的Session数量设置了一个限制,当用户创建的Session数量超过这个限制时,最新的会覆盖最早的等等。

314

2023.10.17

session失效解决方法
session失效解决方法

session失效通常是由于 session 的生存时间过期或者服务器关闭导致的。其解决办法:1、延长session的生存时间;2、使用持久化存储;3、使用cookie;4、异步更新session;5、使用会话管理中间件。

747

2023.10.18

cookie与session的区别
cookie与session的区别

本专题整合了cookie与session的区别和使用方法等相关内容,阅读专题下面的文章了解更详细的内容。

88

2025.08.19

scripterror怎么解决
scripterror怎么解决

scripterror的解决办法有检查语法、文件路径、检查网络连接、浏览器兼容性、使用try-catch语句、使用开发者工具进行调试、更新浏览器和JavaScript库或寻求专业帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

188

2023.10.18

500error怎么解决
500error怎么解决

500error的解决办法有检查服务器日志、检查代码、检查服务器配置、更新软件版本、重新启动服务、调试代码和寻求帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

291

2023.10.25

磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

1353

2023.06.21

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

704

2023.06.29

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

294

2023.06.30

c++空格相关教程合集
c++空格相关教程合集

本专题整合了c++空格相关教程,阅读专题下面的文章了解更多详细内容。

0

2026.01.23

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
jQuery  红蓝两方投票功能实战教程
jQuery 红蓝两方投票功能实战教程

共8课时 | 2.3万人学习

传智播客Swift基础视频教程
传智播客Swift基础视频教程

共40课时 | 8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号