如何在没有 usermod 的情况下将用户添加到组?

How to add user to a group without usermod?

是否可以在没有 usermod 的情况下将用户添加到组中? 我正在使用嵌入式 Linux 3.14.52,但我没有 usermod 命令行。 如果不可能,如何使用 Buildroot 将此命令添加到内核?

用户<->组关联保存在/etc/group文件中。文件的每一行都采用以下格式:

group_name:password:GID:user_list

您可以在逗号分隔的 user_list 部分添加用户。 如果你更喜欢使用一些现有的工具,你可以考虑 gpasswd(如果可用)。

我不知道如何帮助您解决 kernel/buildroot 问题。

在 Buildroot 中,用户和组是使用 BR2_ROOTFS_USERS_TABLES 配置选项创建的。将其设置为您要创建的文件或文件列表或用户。参见 section 9.6 of the Buildroot manual。请注意,这仅允许您指定用户;将用户分配到组时会自动创建组。

或者,您可以通过添加文件系统覆盖来控制整个 /etc/groups 文件。

要在运行时更新组配置,您可以使用 busybox 中的 addgroupdelgroup 实用程序。

此外,您可以首先使用 -G 选项将组分配给该用户来创建组。

sudo useradd -G group1,group2 username1

您可以通过输入

来查看用户组
id username1

输出:

uid=1000(username1) gid=1002(username1) groups=1002(username1),1000(group1),1001(group2)