如何秒速登录SSH/串口终端?

标准方法:使用 passwd 命令

适用场景:系统已安装 passwd 工具(BusyBox或完整Linux环境)。

passwd root
# 3. 按提示输入两次新密码
Enter new password: ******
Retype new password: ******

关键提示

  • 普通用户仅能修改自身密码,root用户可修改任意账户密码(如 passwd username)。
  • 密码需满足强度规则(长度、字符组合),否则可能报错 BAD PASSWORD

手动编辑密码文件(无passwd工具时)

适用场景passwd命令不可用或需脚本批量操作。

步骤

  1. 生成加密密码
    在PC端使用 opensslmkpasswd 生成SHA-512加密字符串(嵌入式设备可能无此工具):

    openssl passwd -6 -salt $(openssl rand -base64 6) your_password
    # 输出示例:$6$salt$encrypted_string
  2. 修改 /etc/shadow 文件

    • 挂载文件系统为可写(若只读):
      mount -o remount,rw /
    • 编辑 /etc/shadow,找到目标行(如 root:旧密码字段:...),替换加密字符串:
      vi /etc/shadow
      # 将root行第二个字段改为生成的加密串
      root:$6$salt$encrypted_string:19450:0:99999:7:::
  3. 恢复只读挂载(如适用):

    mount -o remount,ro /

特殊场景处理

  1. 只读文件系统

    • 临时挂载可写:mount -o remount,rw /
    • 修改后还原:mount -o remount,ro /
    • 若需永久修改,需调整启动脚本中的挂载参数。
  2. BusyBox环境简化操作
    BusyBox的 passwd 可能无交互提示,直接指定密码:

    echo -e "new_password\nnew_password" | passwd root
  3. 恢复出厂默认密码
    查找系统重置脚本(通常为 /bin/factory-reset)或重新烧录包含默认配置的固件。


安全与验证

  1. 密码强度要求

    • 长度≥8字符,混合大小写、数字及符号。
    • 避免常见词汇(如 admin/123456)。
  2. 修改后验证

    su - username  # 切换用户测试新密码
  3. 文件权限检查
    确保 /etc/shadow 权限为 640,属主 root:root

    chmod 640 /etc/shadow
    chown root:root /etc/shadow

故障排除

  • 报错:passwd: Authentication token manipulation error
    原因:文件系统只读或磁盘满。
    解决:mount -o remount,rw / 并检查空间(df -h)。

  • 报错:passwd: System error
    原因:/etc/shadow 权限异常。
    解决:恢复权限 chmod 640 /etc/shadow

  • 密码未生效
    原因:加密算法不匹配(如MD5 vs SHA-512)。
    解决:确认生成密码时指定算法(-6 为SHA-512)。


嵌入式Linux修改密码的核心是:

  1. 优先使用 passwd 命令(安全可靠)。
  2. 手动编辑 /etc/shadow 仅作为备用方案,需严格注意加密算法和权限。
  3. 在只读文件系统中,需先解除挂载保护。

引用说明:本文方法参考Linux标准文档(man 5 shadow)、BusyBox官方手册及嵌入式系统安全实践,操作涉及系统关键文件,建议在测试环境验证后实施。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/9848.html

(0)
酷番叔酷番叔
上一篇 2025年8月7日 09:08
下一篇 2025年8月7日 09:33

相关推荐

  • 切换设置竟无需重启?

    在Linux系统中,图形用户界面(GUI)和命令行界面(CLI)是两种核心交互方式,命令行界面(又称终端或TTY)提供了更高效的系统控制能力,尤其适合执行批量任务、系统管理或资源受限场景,以下是切换到命令行界面的详细方法,适用于主流Linux发行版(如Ubuntu、CentOS、Fedora等):方法1:快捷键……

    2025年7月15日
    5500
  • linux如何退出tty1

    在Linux系统中,tty1是第一个虚拟终端(Virtual Terminal),通过Ctrl+Alt+F1-F6可切换的字符界面终端,常用于命令行操作或服务器管理,用户在tty1中可能需要退出当前会话、切换到图形界面或处理异常情况,以下是具体操作方式及注意事项,正常退出登录会话当用户主动结束tty1中的操作时……

    2025年8月22日
    2900
  • ip命令为何更受推荐?

    在Linux系统中,网桥(Bridge)是一种虚拟网络设备,用于连接多个网络接口,实现二层数据包转发(类似物理交换机),获取网桥地址(通常指MAC地址或关联的IP地址)是网络配置、故障排查或容器/虚拟化管理的常见需求,以下是几种专业可靠的方法:ip 是现代Linux网络配置的标准工具,支持网桥的详细查询:ip……

    2025年7月27日
    4500
  • linux编辑后如何保存退出

    Linux 中编辑后,通常按 Esc 键退出编辑模式,然后输入

    2025年8月17日
    3200
  • Linux下如何切换输入法?具体操作步骤是什么?

    在Linux系统中,输入法切换是日常使用中频繁操作的功能,尤其对于中文用户而言,Linux下的输入法管理主要依赖于输入法框架(如IBus、Fcitx、Fcitx5等),不同框架的切换方式略有差异,但整体流程相似,本文将详细介绍Linux下切换输入法的多种方法,包括图形化界面设置、快捷键操作、命令行工具以及特殊场……

    2025年9月18日
    3200

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信