介绍

我们的标准镜像只有root用户,且该用户的密码为空,这个是由build/conf/local.conf文件中的

# - "Makes an image suitable for development (e.g. allows root logins without
#    passwords and enables post-installation logging)"
EXTRA_IMAGE_FEATURES += "debug-tweaks"

配置的,此时不管是ssh还是串口,root用户都可以输入空密码登录。

如果去掉上面这个配置,则如果密码为空,就不能在ssh,串口等登录。

下面介绍怎样在yocto中修改用户信息,以实现编译出来的镜像就已经有修改好的用户信息。

在开发板上直接修改的方法和其他linux平台的命令行改法是一样的,可以使用useradd等命令。

BSP中修改用户信息

可在以下两个路径中增加对应内容

密码生成方式,在linux主机上使用mkpasswd 生成密码,以下tester01为明文密码,输出值为加密密码。

min@min-virtual-machine:~$ printf "%q" $(mkpasswd -m sha256crypt tester01)
\$5\$90osp16e1oRcb9Nq\$4rIHMY.6aPgfd9oeB8ZxvbHJX4WIv/pQKCArmzKnV/D

生成上述加密密码后,用该加密密码替换下文中yocto代码中的password,注意password前后的单引号’需要保留,防止shell解析密码中的特殊字符。

方法/build/conf/local.conf/source/meta-【custom】/conf/layer.conf
配置文件增加内容
INHERIT += "extrausers"

EXTRA_USERS_PARAMS += "\
usermod -p 'password' root; \
"

临时修改推荐修改local.conf,正式开发建议在自建layer中的layer.conf中修改,方便维护。

项目指令
增加root密码
usermod -p 'password' root;
增加用户
useradd -p 'password' [username];
增加组
groupadd developers;
用户删除
userdel nobody;
  • No labels