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

Posted

技术标签:

【中文标题】如何在没有 usermod 的情况下将用户添加到组?【英文标题】:How to add user to a group without usermod? 【发布时间】:2016-10-13 23:56:00 【问题描述】:

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

【问题讨论】:

【参考方案1】:

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

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

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

【讨论】:

感谢您的回答。那么“BR2_ROOTFS_USERS_TABLES”选项就像覆盖一样工作?我给一个“组”文件,然后它会在启动时加载到内核中?所以没有办法在运行时从组中添加或删除用户(但编辑 /etc/groups)? 阅读手册或 BR2_ROOTFS_USERS_TABLES 的帮助文本:该选项指定了一个“mksers 语法”文件,该文件将用于创建其他用户和组。对于运行时更新,我在答案中添加了 addgroup 和 delgroup。【参考方案2】:

用户组关联保存在 /etc/group 文件中。文件的每一行格式为:

group_name:password:GID:user_list

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

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

【讨论】:

以上是关于如何在没有 usermod 的情况下将用户添加到组?的主要内容,如果未能解决你的问题,请参考以下文章

usermod -a -G group user修改user用户信息,把user添加到组group中

Facebook API - 如何在开发人员模式下将应用程序添加到组

Linux 中将用户添加到组的指令

在 DEB 安装后将用户添加到组而无需重新启动

Linux 中将用户添加到组的指令

在Linux中怎么把用户添加到组中