chroot 找不到组 ID 的名称,但监狱中不存在组 ID

chroot 找不到组 ID 的名称,但监狱中不存在组 ID

[Ubuntu 16.04.7,Jailkit]

我遇到一个奇怪的问题,即chroot <rootJailFolder>发出警告,groups: cannot find name for group ID xxx但监狱的文件系统中不存在组 ID xxx foes。这个问题似乎并没有影响监狱里的任何事情。

我能够通过将组添加到本地etc/group文件来消除警告,但显然这不是最佳解决方案。

我不知道为什么会收到警告,并且想知道是否有其他人以前遇到过此问题并解决了该问题?

答案1

如果我没记错的话,该消息表明被监禁的用户(因为它存在于监狱外的主/etc/passwd//etc/group文件中)是监狱内没有为其定义名称的组的成员。

在监狱中的效果是任何进程都无法通过名称引用该组,并且通常会显示 GID 号。

这可能会让不熟悉此行为的用户感到困惑,例如,他们可能会将 GID 编号与“ls - l”列表中的文件大小混淆。但如果你能忍受这一点,你可以忽略它——它本质上只是一个警告。

如果组成员身份是不必要的,您应该删除它或将其替换为为被监禁的用户创建的虚拟组(因为基本要求是用户必须是至少一个组的成员,以允许该组用作用户创建的任何文件的组所有者)。

如果该组是必要的,但您不想向监狱内的进程透露其真实名称,那么您当然可以在etc/group监狱内的本地文件中为该 GID 使用非描述性虚拟名称。无论如何,所有文件系统功能都将通过 GID 号进行;这个名字只适用于人类。

相关内容