如何将 wall 命令的消息限制到特定组?

如何将 wall 命令的消息限制到特定组?

该命令的描述wall表明它发送一条消息到全部已登录的用户。然而,手册页描述了一个标志 ,-g --group它允许发送者将消息限制到指定的组:

-g, --group group将消息打印限制为定义为组参数的组成员。参数可以是组名或 GID。

但是,我只能向所有登录用户发送消息。我已经尝试过这个命令:

  • -g my_group,
  • --group my_group,
  • -g "my_group",
  • --group "my_group",
  • --group=my_group

另外,我已经尝试了上述所有方法,将“my_group”(组名称)替换为组 ID,但没有成功。

我也尝试过放置标志消息。这些都不能将消息限制在给定的组中。所有消息都会发送给所有用户。我是不是对国旗有什么误解?语法?这个命令坏了吗?或者手册页根本不正确?请不要提供替代命令,我知道它们的存在。我想知道如何使用列出的选项或为什么该选项无法正常工作。我在用Ubuntu 20.04

答案1

看着群组成员资格检查代码。打了一轮gdb --args wall -g root foobarbaz

break is_gr_member
run
{wait for breakpoint to be hit}
finish 
print utmpptr->ut_user # this prints my own user name
step # this shows we're actually taking the branch as if I was a member of group root

所以,是的,这wall似乎是检查组成员身份时的一个错误。请随时打开错误报告他们的错误跟踪器;然而,老实说,解决这个问题的压力应该很低!我怀疑这个功能有很多合法用户。自己修复这个问题可能仍然非常有价值,如果您有 C 技能,请这样做。

相关内容