首页 > 解决方案 > 如何在 Yocto 中添加 Sudouser

问题描述

我想在 Yocto 中添加一个新的 Sudouser。根密码适用于更改并添加了新用户,但它不是 Sudouser。如何添加 Sudouser?我读了很多谷歌文章并试图复制它们,但都失败了。我做了一个食谱,但它不起作用,只将它添加到 local.conf 是有效的。

  1. 添加额外用户。(新用户:test1,密码:pass11!)
  2. 禁止调试调整以更改 root 的密码。
  3. 更改根密码。(无 --> pass1234!)

以下是我在 local.conf 中添加的代码。

# EXTRA_IMAGE_FEATURES = "debug-tweaks package-management"

INHERIT += "extrausers"
EXTRA_USERS_PARAMS = " usermod -P pass1234! root; \
                       useradd test1; \
                       usermod -P pass11! test1; "

我将不胜感激任何建议。

标签: passwordssudoyoctorecipe

解决方案


谢谢罗伯特。我从 Toradex 工程师那里找到了解决方案。

如果有人像我一样有问题,请尝试以下方法。

  1. 更改根密码。

在 local.conf 中添加以下内容。我没有使用我的食谱。

EXTRA_IMAGE_FEATURES=""
INHERIT += "extrausers"
EXTRA_USERS_PARAMS = " usermod -P password root; "

如果有人不能使用 ssh,请参考这里

  1. 添加具有root权限的新用户。
EXTRA_IMAGE_FEATURES=""
INHERIT += "extrausers"
EXTRA_USERS_PARAMS = " usermod -P password1 root; \
            useradd -ou 0 -g 0 newuser; \ 
            usermod -P password2 newuser; "

也许您的用户帐户无法使用“ifconfig”之类的命令,因为您的用户帐户没有路径“/sbin”。转到您的 Yocto 代码并找到正确的文件并为您的用户帐户添加 /sbin。

r@p:~/oe-core/layers$ grep -r /etc/profile .
./meta-toradex-demos/recipes-core/base-files/base-files/profile:# /etc/profile: system-wide .profile file for the Bourne shell (sh(1))
./meta-toradex-demos/recipes-core/base-files/base-files/profile:if [ -d /etc/profile.d ]; then
./meta-toradex-demos/recipes-core/base-files/base-files/profile:  for i in /etc/profile.d/* ; do
if [ "$HOME" = "/home/root" ]; then
   PATH=$PATH:/usr/local/sbin:/usr/sbin:/sbin
fi

if [ "$HOME" = "/home/newuser" ]; then
   PATH=$PATH:/usr/local/sbin:/usr/sbin:/sbin
fi

推荐阅读