Linux rootfs:如何开机就自动添加某个用户?
版权声明
我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。
一口Linux
扫码关注公众号
扫码阅读
手机扫码阅读
文章主旨:
通过修改rootfs中的shadow和passwd文件,实现在Linux嵌入式开发环境中自动创建用户和设置密码。
关键要点:
- 项目需求是开机自动创建用户并设置密码,但厂家SDK中adduser命令存在交互性,无法直接通过脚本完成。
- 选择通过直接修改rootfs中的shadow和passwd文件来实现用户和密码的自动配置。
- 手动添加用户后需将相关信息复制到SDK的buildroot目录中的对应文件。
- 编译烧录后,系统时间需手动调整,否则可能导致密码无效。
- 时间设置的命令可以放入系统启动脚本,开机自动运行。
内容结构:
前言:
作者介绍了项目需求,需要在嵌入式开发环境中实现自动创建用户和密码的功能。由于SDK自带的adduser命令存在交互问题,作者选择了直接修改rootfs的shadow和passwd文件的方式来解决问题。
环境:
SDK版本为复旦微Buildroot 2018.02.3。
步骤:
- 手动添加用户:
- 在开发板上使用adduser命令创建用户ftp,设置密码为123456。
- 观察到adduser命令会修改文件/etc/shadow和/etc/passwd,新增用户相关信息。
- 将用户信息配置到rootfs:
- 将新增的用户信息手动复制到厂家SDK的buildroot目录下对应的shadow和passwd文件。
- 修改完成后编译烧录,系统重启即可使用新创建的用户登录。
注意:
如果新用户无法登录,可能是由于系统时间太旧(如1970)导致密码无效。解决方法是使用date命令手动设置系统时间,并将设置时间的命令加入系统启动脚本以自动运行。
文章总结:
本文提供了一种在嵌入式开发环境中通过修改rootfs文件实现自动创建用户和设置密码的实用方法,同时提示了可能遇到的系统时间问题及解决方案。
一口Linux
一口Linux
扫码关注公众号