我登录到一个大学系统,一个非常烦人的 n00b 认为他或她是一些很棒的黑客,因为她或他可以使用管道向每个人广播对象转储。我敢打赌他们认为这很有趣,因为它看起来像矩阵。
我只是想知道是否有一种快速简便的方法可以选择不接收来自该用户的这些消息。另外,对于所有用户来说,命令是什么(有时,当我陷入困境时,我不想收到消息)。
答案1
该命令mesg n
选择退出所有消息。wall
除了删除wall
该用户对该命令的执行权限之外,无法阻止特定用户向您发送(写入全部)消息。我的 Ubuntu Linux 计算机上的默认权限允许任何人运行wall
,并且它会向任何未选择退出的人发送消息mesg n
。关于此问题的最后一点,只需运行mesg
即可查看当前接收消息的选择加入/退出状态。
答案2
我要做的第一件事就是向管理员报告这个小丑。不幸的是,你没有简单的方法可以阻止他并且只能阻止他。
阻止其他用户在您的终端上写消息的命令是mesg n
。然后该mesg y
命令允许再次写入。
该命令的作用是更改终端设备文件的权限(例如/dev/tty0
或/dev/pts/8
等)以允许或禁止其他用户写入它。在命令提示符下键入who am i
通常会显示设备的名称,并/dev/
去掉前缀。
传统的 UNIX 权限系统允许您为自己、单个用户组以及所有其他用户单独设置权限。如果您和您想要交谈的每个人碰巧都是 h4x0r 所在组的成员,则您可以chgrp mygroup /dev/myterminal
设置文件的组,然后chmod 620 /dev/myterminal
设置权限。 (620
是“用户可以读/写,组可以写,所有其他人没有权限”的简写。)
将访问控制列表应用于您的设备文件可能是一种执行您想要的操作的方法,但这是依赖于系统且非标准的,我从未这样做过,如果登录系统不这样做,它可能会给其他人带来问题期待它。
最后,要了解更多信息(以防万一您还不知道),请尝试命令man
-- man chmod
、man chgrp
等。
答案3
ls -l /usr/bin/wall
sudo chmod g+s /usr/bin/wall
echo foo | wall
mesg y
acb$ wall test