Yocto:将自定义用户添加到自定义组

Par*_*ban 5 bitbake yocto

我在我的应用程序配方中创建了一个自定义组,例如“grp1”,说“app.bb”。

GROUPADD_PARAM_${PN} = "grp1"
Run Code Online (Sandbox Code Playgroud)

我正在尝试将我的自定义用户(例如:“user1”)添加到“space.bb”中的该组“grp1”中。

USERADD_PARAM_${PN} = "-d ${localstatedir}/lib/space/ -s /bin/false -G grp1 -U user1"
Run Code Online (Sandbox Code Playgroud)

useradd 命令失败:“ useradd: 组‘grp1’不存在”。我也尝试添加DEPENDS_${PN} = "app"space.bb,但没有帮助。

如何将自定义用户添加到 bitbake 配方中的自定义组?

Ole*_*rin 0

如果使用某些配方,则另一个可能导致此错误的原因

inherit extrauser
Run Code Online (Sandbox Code Playgroud)

代替

inherit useradd
Run Code Online (Sandbox Code Playgroud)

并在以下命令的帮助下添加相同的组grp1

EXTRA_USERS_PARAMS = "\
      useradd -p '' grp1; \
      groupadd grp1; \
      "
Run Code Online (Sandbox Code Playgroud)

而不是经典

GROUPADD_PARAM_libAPP = "grp1"
USERADD_PARAM_libAPP = "--no-create-home --home /var/tmp --shell /bin/nologin --gid grp1 grp1"
Run Code Online (Sandbox Code Playgroud)

会导致组grp1重复并且useradd命令失败