Linux rootfs:如何开机就自动添加某个用户?

ftp Linux sdk 专辑 干货
发布于 2025-06-12
603

我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。

扫码阅读
手机扫码阅读

文章主旨:

通过修改rootfs中的shadow和passwd文件,实现在Linux嵌入式开发环境中自动创建用户和设置密码。

关键要点:

  • 项目需求是开机自动创建用户并设置密码,但厂家SDK中adduser命令存在交互性,无法直接通过脚本完成。
  • 选择通过直接修改rootfs中的shadow和passwd文件来实现用户和密码的自动配置。
  • 手动添加用户后需将相关信息复制到SDK的buildroot目录中的对应文件。
  • 编译烧录后,系统时间需手动调整,否则可能导致密码无效。
  • 时间设置的命令可以放入系统启动脚本,开机自动运行。

内容结构:

前言:

作者介绍了项目需求,需要在嵌入式开发环境中实现自动创建用户和密码的功能。由于SDK自带的adduser命令存在交互问题,作者选择了直接修改rootfs的shadow和passwd文件的方式来解决问题。

环境:

SDK版本为复旦微Buildroot 2018.02.3。

步骤:

  1. 手动添加用户:
    • 在开发板上使用adduser命令创建用户ftp,设置密码为123456。
    • 观察到adduser命令会修改文件/etc/shadow和/etc/passwd,新增用户相关信息。
  2. 将用户信息配置到rootfs:
    • 将新增的用户信息手动复制到厂家SDK的buildroot目录下对应的shadow和passwd文件。
    • 修改完成后编译烧录,系统重启即可使用新创建的用户登录。

注意:

如果新用户无法登录,可能是由于系统时间太旧(如1970)导致密码无效。解决方法是使用date命令手动设置系统时间,并将设置时间的命令加入系统启动脚本以自动运行。

文章总结:

本文提供了一种在嵌入式开发环境中通过修改rootfs文件实现自动创建用户和设置密码的实用方法,同时提示了可能遇到的系统时间问题及解决方案。

一口Linux