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

标准方法:使用 passwd 命令

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

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

关键提示:

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

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

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

步骤:

  1. 生成加密密码
    在PC端使用 openssl 或 mkpasswd 生成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如何快速启动CSVN(CollabNet Subversion Edge)?

    CSVN(CollabNet Subversion Edge)是一款集成了Subversion版本控制、Apache HTTP服务器和Web管理界面的企业级解决方案,以下是在Linux系统中启动CSVN的完整步骤,适用于CentOS、Ubuntu等主流发行版,启动前的准备工作环境要求已安装Java环境(推荐JD……

    2025年6月28日
    31900
  • 如何在Linux中高效下载文件?有哪些常用命令和工具?

    在Linux系统中,下载文件是日常操作中的常见需求,无论是通过命令行工具实现高效批量下载,还是借助图形界面工具进行可视化操作,Linux都提供了丰富灵活的解决方案,本文将详细介绍Linux环境下常用的下载方法,涵盖命令行工具(如wget、curl、aria2c)和图形界面工具(如浏览器下载、uGet),并针对不……

    2025年10月8日
    34500
  • linux如何安装run

    Linux中,可使用包管理器安装run相关命令或程序,如apt install(Debian系)或yum install(

    2025年8月14日
    30400
  • Linux前台启用进程如何终止?

    在Linux系统中,前台进程是指当前终端用户直接交互的进程,它会占用终端的输入输出接口,用户在终端输入的命令会直接传递给前台进程,其输出也会直接显示在终端上,与后台进程不同,前台进程的终止方式更为直接,但也需要根据进程的状态和响应情况选择合适的方法,本文将详细介绍Linux前台进程的终止方法、相关命令的使用及注……

    2025年8月23日
    24200
  • 如何查询Linux系统是否已设置为UTF-8编码?

    在Linux系统中,UTF-8是一种广泛使用的字符编码,能够兼容全球大多数语言的字符,确保多语言环境下的正常显示和处理,查询系统是否支持UTF-8编码,通常需要从环境变量、系统locale配置、文件系统编码及终端编码等多个维度进行验证,以下是具体操作方法和步骤,通过环境变量检查当前编码设置Linux系统的语言和……

    2025年10月8日
    25900

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信