[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 号进行;这个名字只适用于人类。