要让linux用户无法修改密码,可通过账户锁定、密码策略设置或pam配置实现。1. 使用passwd -l锁定账户,阻止登录及改密;2. 通过chage设密码永不过期并标记为已过期,允许登录但禁止改密;3. 修改pam配置文件限制特定用户或组使用passwd命令,实现更精细控制。

Linux系统中,如果希望限制某些用户修改自己的密码,可以通过设置账户锁定或密码过期状态来实现对passwd命令的“禁用”。这不是直接关闭命令本身,而是通过系统机制让该命令在特定用户上失效。

1. 使用 passwd -l 锁定用户账户
最简单的方法是使用 passwd 命令自带的锁定功能:

sudo passwd -l username
执行后,用户将无法登录系统(包括通过密码认证的方式),同时也无法更改自己的密码。这个操作实际上是把 /etc/shadow 文件中对应用户的密码字段前加上了 !,表示密码被锁。
⚠️ 注意:此方法会影响用户登录能力,如果你只是想让用户不能改密码但还能正常登录,这种方法就不适用。
2. 设置密码永不过期并标记为已过期
如果你希望用户可以正常登录,但不能更改密码,可以结合 chage 和 passwd 命令实现:
sudo chage -I -1 -m 0 -M 99999 -E -1 usernamesudo passwd -u username # 确保用户未被锁定
这段命令的作用是:
-I -1:设置密码永不过期后的宽限期为无限-m 0:两次修改密码的最小间隔为0天-M 99999:最大间隔设为非常大的值,相当于永不提醒改密码-E -1:账户永不过期
接着,你可以手动将该用户的密码标记为“已经过期”:
sudo chage -d 1970-01-01 username
这样用户下次尝试使用 passwd 改密码时会失败,因为系统认为当前密码已经过期很久,而最大有效期又非常大,导致无法继续修改。
3. 修改 PAM 配置限制密码修改权限(高级)
对于更复杂的场景,比如只允许部分用户修改密码、或者完全禁止某个组的用户使用 passwd 命令,可以修改 PAM(Pluggable Authentication Modules)配置文件。
以 Ubuntu/Debian 系统为例,编辑 /etc/pam.d/passwd 文件,在开头添加类似规则:
auth required pam_access.so
然后在 /etc/security/access.conf 中添加限制:
- : user1 user2 : ALL
这表示用户 user1 和 user2 将无法使用 passwd 命令修改密码。
⚠️ 这种方式需要谨慎操作,错误配置可能导致所有用户都无法修改密码甚至影响系统安全策略。
总的来说,要让 Linux 用户无法使用 passwd 修改密码,有几种不同级别的方法可以选择:从简单的账户锁定,到精细的 PAM 控制。根据你的实际需求选择合适的方式即可。基本上就这些,操作不复杂但容易忽略细节。
以上就是如何让Linux用户无法修改密码 passwd命令禁用方法的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/11747.html
微信扫一扫
支付宝扫一扫