如何秒速登录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跑Python为何如此高效?

    在Linux系统中运行Python程序高效便捷,可直接通过命令行执行.py文件,最佳实践包括使用虚拟环境管理依赖、为脚本添加执行权限(chmod +x)以及利用shebang行(#!/usr/bin/env python3)指定解释器版本。

    2025年7月14日
    17900
  • Linux中goto语句如何使用?

    在Linux环境下,goto语句是C/C++等编程语言提供的控制流语句,用于无条件跳转到代码中定义的标签处,它常用于简化错误处理或退出多层嵌套,但需谨慎使用以避免代码结构混乱。

    2025年7月16日
    19900
  • Linux下如何查看DB2数据库的端口号?

    在Linux系统中查看DB2数据库的端口号是数据库管理和网络配置中的常见需求,端口号的正确配置直接影响客户端连接、应用程序访问以及防火墙策略的制定,DB2的端口配置涉及实例级和数据库级两个层面,不同场景下可能需要查看不同类型的端口,例如实例管理端口(SVCENAME)、数据库连接端口、协调端口等,本文将详细介绍……

    2025年9月25日
    15100
  • Linux镜像如何快速重做?

    为什么需要重新制作镜像?系统备份:防止数据丢失或系统崩溃,批量部署:快速在多台设备安装相同环境,定制化系统:创建预装软件和配置的自定义镜像,修复故障:替换损坏的系统文件或分区,准备工作备份数据tar -cvpzf /backup/home.tar.gz /home # 备份/home目录使用外部存储保存关键数据……

    2025年8月7日
    18000
  • linux如何查看性能资源

    Linux 中,可使用 top、htop 命令查看系统性能资源,还能用 free

    2025年8月10日
    17700

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信