Zsh shell:compaudit:148:未知组

Zsh shell:compaudit:148:未知组

每当我打开 zsh shell 时,它都会输出以下 3 行:

compaudit:148: unknown group
compaudit:148: unknown group
compaudit:148: unknown group

当我运行该compaudit命令时,它输出以下行:

compaudit:148: unknown group

我怀疑这与我损坏的 /etc/group 文件有关(这导致我的管理员帐户失去 sudo 权限,但我已使用恢复模式修复了该问题;但是,该损坏的文件也导致了许多与组相关的问题)我无法修复的错误)。我曾经在硬盘上备份我的系统,但最近它失败了,我没有更换它。

有没有办法解决这个问题,如果是因为 /etc/group 文件损坏,有什么方法可以恢复它吗?我使用的是 Ubuntu 16.04

答案1

这是例如输出的错误消息:

$ echo *(g:nosuchgroup:)
zsh: unknown group

它尝试列出 所属组所拥有的文件nosuchgroup,这里是一个不存在的组。

compaudit函数在检查组件的权限和所有权时确实会执行此类操作$fpath

例如,对于 Debian 衍生品(如 Ubuntu),它在某一时刻扩展了全局${^_i_ulwdirs}(Nf:g+ws:^g:staff:,f:o+w:,^u0)

基于 Debian 的系统通常有一个staff组,但如果您的系统/etc/group已损坏并且没有组,您会收到该错误消息。

staff如果我在 Linux Mint 18.3 系统(基于 Ubuntu 16.04)上将组重命名为其他名称,我会收到完全相同的错误消息。

如果getent group staff没有返回任何内容,则确认该staff组丢失并且您的恢复没有正常工作。

相关内容