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

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

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

sudo passwd -l username
执行后,用户将无法登录系统(包括通过密码认证的方式),同时也无法更改自己的密码。这个操作实际上是把 /etc/shadow 文件中对应用户的密码字段前加上了 !,表示密码被锁。
⚠️ 注意:此方法会影响用户登录能力,如果你只是想让用户不能改密码但还能正常登录,这种方法就不适用。
如果你希望用户可以正常登录,但不能更改密码,可以结合 chage 和 passwd 命令实现:
sudo chage -I -1 -m 0 -M 99999 -E -1 username sudo passwd -u username # 确保用户未被锁定
这段命令的作用是:
-I -1:设置密码永不过期后的宽限期为无限-m 0:两次修改密码的最小间隔为0天-M 99999:最大间隔设为非常大的值,相当于永不提醒改密码-E -1:账户永不过期接着,你可以手动将该用户的密码标记为“已经过期”:
sudo chage -d 1970-01-01 username
这样用户下次尝试使用 passwd 改密码时会失败,因为系统认为当前密码已经过期很久,而最大有效期又非常大,导致无法继续修改。
对于更复杂的场景,比如只允许部分用户修改密码、或者完全禁止某个组的用户使用 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命令禁用方法的详细内容,更多请关注php中文网其它相关文章!
                        
                        每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
                Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号