Linux服务器如何修改密码

来源:站长查询作者:松松建站头衔:草根站长
导读:本期聚焦于松松建站创作的《Linux服务器如何修改密码》,敬请观看详情。很多Linux服务器管理员在日常运维过程中都会遇到需要修改用户密码的场景,无论是普通用户忘记密码需要重置,还是为了提升服务器安全性定期更新密码,都需要掌握正确的操作方法。本文会详细介绍Linux服务器下修改密码的多种常用方式,包括本地终端修改、远程ssh连接修改、批量修改用户密码等不同场景的操作步骤,同时会说明密码设置的规范要求以及修改过程中的常见注意事项,帮助不同水平的用户快速完成密码修改操作,避免因操作失误导致无法登录服务器的问题。

Linux服务器中的用户密码管理是系统安全运维的基础环节。无论是普通用户主动修改自己的登录密码,还是管理员对多个账号进行统一重置,亦或是服务器root密码丢失后的应急恢复,都涉及不同的命令与操作路径。本文将从本地终端、root权限、SSH远程会话、批量更新以及单用户模式恢复等角度,梳理Linux系统中修改密码的完整方法。

Linux服务器如何修改密码

一、使用passwd命令修改密码

在本地控制台或已登录的终端会话中,修改密码最直接的命令是passwd。该命令用于更新用户的认证令牌,用户执行时不带任何参数表示修改当前登录用户的密码。出于安全考虑,系统会先要求输入当前密码进行身份验证,然后要求连续输入两次新密码,只有两次输入完全一致时密码才会被更新。这种交互设计可以有效避免用户因误输入而设置一个自己并不知道的密码。

# 当前用户执行命令修改自己的密码
passwd
# 系统显示:Changing password for user testuser.
# 系统提示:Current password:
# 输入当前密码后,系统提示:New password:
# 输入新密码,系统再提示:Retype new password:
# 再次输入相同的新密码,随后显示:
# passwd: all authentication tokens updated successfully.

如果当前用户具备root权限,则可以通过在passwd后添加用户名的方式修改其他用户的密码。该方式不需要输入目标用户的旧密码,系统会直接进入新密码设置环节。因此,当某个普通用户忘记密码或者密码过期无法登录时,管理员可以用root身份执行passwd testuser快速完成重置。需要注意的是,root权限极高,操作前应确认目标用户名拼写正确,避免误改其他用户的密码。

# root用户修改普通用户testuser的密码
passwd testuser
# 系统直接提示设置新密码,无需输入旧密码
# New password:
# 输入新密码后系统提示:Retype new password:
# 再次输入相同的新密码,看到成功提示:
# passwd: all authentication tokens updated successfully.

二、SSH远程会话修改与批量更新

SSH远程登录是管理Linux服务器最常见的方式。通过SSH连接进入服务器后,密码修改操作与本地终端没有本质区别。普通用户只能修改自己的密码,而root用户可以修改任意用户密码。由于SSH会话依赖于网络,修改密码后建议保持当前会话继续工作一段时间,待确认新密码能够正常使用后再关闭连接,以避免网络中断导致的会话丢失。

部分服务器启用了密码复杂度策略,例如通过PAM模块要求新密码至少包含大小写字母、数字和特殊字符,或者限制密码最短长度。若设置的新密码不符合策略,系统会拒绝修改并给出相应提示,此时需要根据提示调整密码内容,设置符合规范的密码。

当管理员需要同时更新多个用户密码时,可以使用chpasswd命令。该命令从标准输入读取“用户名:密码”格式的数据,并一次完成批量更新。通常做法是先创建一个临时文件,按行写入用户名和密码的对应关系,然后使用输入重定向将文件内容交给chpasswd处理。下面是一个完整的示例。

# 编辑批量密码文件 /tmp/user_pwd.txt
# 每一行内容格式为“用户名:密码”,例如:
# testuser1:NewPass123
# testuser2:NewPass456
# testuser3:NewPass789

# 通过输入重定向将文件交给chpasswd批量处理
chpasswd < /tmp/user_pwd.txt

# 如果命令执行后没有错误输出,说明批量修改已完成
# 操作完成后立即删除临时文件,防止明文密码泄露
rm -f /tmp/user_pwd.txt

批量修改完成后,应删除临时文件,避免密码以明文形式残留在服务器上。如果必须保留文件,应将其权限设置为600,并仅由root用户访问。这样可以降低密码被其他普通用户读取的风险。

三、密码设置规范与安全注意事项

密码强度直接决定账号被暴力破解或字典攻击的成功概率。建议密码长度不少于8位,并混合大小写字母、数字和特殊字符。不应使用用户名、生日、连续数字、常见英文单词等容易猜测的内容。不同账号应设置不同密码,尤其是root密码与普通用户密码不能相同,以防止一个账号被攻破后影响整个服务器。

密码更新后应尽快验证。对于管理员重置的用户密码,应通知用户及时登录并修改为仅本人知道的密码。部分系统会记录历史密码,要求新密码不能与最近几次的密码重复,如果修改失败,需要更换为未使用过的新密码。如果用户多次尝试登录失败,还可能触发账户锁定策略,因此修改后应尽快通知用户验证。

日常运维中,不要将密码明文写入公共目录、共享存储或版本控制系统。批量任务如果通过Shell脚本执行,应避免在命令行参数中直接传递密码,因为其他用户可能通过进程列表看到这些内容。可以使用受限权限的临时文件,并在使用后立即清理。还可以结合其他安全措施,如限制root远程登录、启用SSH密钥认证、设置密码过期策略等,进一步增强服务器整体安全性。

四、忘记root密码的应急处理

当root密码丢失时,管理员无法通过常规方式登录服务器。此时可以借助单用户模式进入应急Shell,重新设置root密码。进入单用户模式的方法因发行版而异,但核心思路都是修改系统引导参数,在启动时直接进入一个不加载完整服务的Shell环境,从而获得修改密码的机会。

以使用GRUB引导的CentOS系统为例,重启服务器并在引导菜单出现时选中目标内核条目,按e进入编辑模式。找到以linux16linuxefi开头的行,将光标移动到该行末尾,添加init=/bin/bash,然后按Ctrl+x启动。系统随后会进入单用户Shell,此时不需要输入任何登录密码。

进入单用户模式后,根文件系统通常以只读方式挂载,需要先执行mount -o remount,rw /重新挂载为可读写,否则passwd命令无法写入新的密码哈希。接着执行passwd root并输入两次新密码。修改完成后,可以通过exec /sbin/init继续启动系统,或者直接重启服务器。

# 进入单用户模式后,根文件系统可能为只读状态
# 先将其重新挂载为可读写
mount -o remount,rw /

# 执行root密码修改命令
passwd root
# 系统提示 New password:
# 输入新密码后提示 Retype new password:
# 再次输入相同密码,看到成功提示即可

# 修改完成后重启系统
exec /sbin/init

完成恢复后,应使用新密码验证root登录是否正常,并检查系统启动日志确认没有异常。此外,应总结密码遗失的原因,建立密码保管与轮换机制。如果服务器由云平台托管,管理部门通常也提供控制台重置实例密码的功能,可以优先使用云厂商提供的安全通道完成重置,而不必进入单用户模式。

总结与建议

Linux服务器密码修改虽然以passwd命令为核心,但实际场景中涉及权限、通道、批量处理与应急恢复等多个层面。普通用户可通过passwd修改自身密码,root用户可以重置任何普通用户密码,SSH远程会话中的操作与本地基本一致,批量更新则可使用chpasswd提高效率。在日常管理中,良好的密码策略与文件清理习惯能够显著降低安全风险。对于root密码丢失的情况,单用户模式提供了一条有效的恢复路径,但操作时需要谨慎处理文件系统挂载状态,确保修改写入成功。

Linuxpasswdsshuser_modify修改时间:2026-07-24 08:03:11

免责声明:​ 已尽一切努力确保本网站所含信息的准确性。网站内容多为原创整理与精心编撰,观点力求客观中立。本站旨在免费分享,内容仅供个人学习、研究或参考使用。若引用了第三方作品,版权归原作者所有。如内容涉及您的权益,请联系我们处理。
内容垂直聚焦
专注技术核心技术栏目,确保每篇文章深度聚焦于实用技能。从代码技巧到架构设计,为用户提供无干扰的纯技术知识沉淀,精准满足专业提升需求。
知识结构清晰
覆盖从开发到部署的全链路。AI、前端、编程、数据库、服务器、建站、系统层层递进,构建清晰学习路径,帮助用户系统化掌握开发与运维所需的核心技术。
深度技术解析
拒绝泛泛而谈,深入技术细节与实践难点。无论是数据库优化还是服务器配置,均结合真实场景与代码示例进行剖析,致力于提供可直接应用于工作的解决方案。
专业领域覆盖
精准对应开发生命周期。从前端界面到后端编程,从数据库操作到服务器运维,形成完整闭环,一站式满足全栈工程师和运维人员的技术需求。
即学即用高效
内容强调实操性,步骤清晰、代码完整。用户可根据教程直接复现和应用于自身项目,显著缩短从学习到实践的距离,快速解决开发中的具体问题。
持续更新保障
专注既定技术方向进行长期、稳定的内容输出。确保各栏目技术文章持续更新迭代,紧跟主流技术发展趋势,为用户提供经久不衰的学习价值。