标准方法:使用 passwd
命令
适用场景:系统已安装 passwd
工具(BusyBox或完整Linux环境)。
passwd root
# 3. 按提示输入两次新密码
Enter new password: ******
Retype new password: ******
关键提示:
- 普通用户仅能修改自身密码,
root
用户可修改任意账户密码(如passwd username
)。 - 密码需满足强度规则(长度、字符组合),否则可能报错
BAD PASSWORD
。
手动编辑密码文件(无passwd
工具时)
适用场景:passwd
命令不可用或需脚本批量操作。
步骤:
-
生成加密密码
在PC端使用openssl
或mkpasswd
生成SHA-512加密字符串(嵌入式设备可能无此工具):openssl passwd -6 -salt $(openssl rand -base64 6) your_password # 输出示例:$6$salt$encrypted_string
-
修改
/etc/shadow
文件- 挂载文件系统为可写(若只读):
mount -o remount,rw /
- 编辑
/etc/shadow
,找到目标行(如root:旧密码字段:...
),替换加密字符串:vi /etc/shadow # 将root行第二个字段改为生成的加密串 root:$6$salt$encrypted_string:19450:0:99999:7:::
- 挂载文件系统为可写(若只读):
-
恢复只读挂载(如适用):
mount -o remount,ro /
特殊场景处理
-
只读文件系统
- 临时挂载可写:
mount -o remount,rw /
- 修改后还原:
mount -o remount,ro /
- 若需永久修改,需调整启动脚本中的挂载参数。
- 临时挂载可写:
-
BusyBox环境简化操作
BusyBox的passwd
可能无交互提示,直接指定密码:echo -e "new_password\nnew_password" | passwd root
-
恢复出厂默认密码
查找系统重置脚本(通常为/bin/factory-reset
)或重新烧录包含默认配置的固件。
安全与验证
-
密码强度要求
- 长度≥8字符,混合大小写、数字及符号。
- 避免常见词汇(如
admin
/123456
)。
-
修改后验证
su - username # 切换用户测试新密码
-
文件权限检查
确保/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修改密码的核心是:
- 优先使用
passwd
命令(安全可靠)。 - 手动编辑
/etc/shadow
仅作为备用方案,需严格注意加密算法和权限。 - 在只读文件系统中,需先解除挂载保护。
引用说明:本文方法参考Linux标准文档(
man 5 shadow
)、BusyBox官方手册及嵌入式系统安全实践,操作涉及系统关键文件,建议在测试环境验证后实施。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/9848.html