这是多么邪恶: echo bash >> .bashrc

这是多么邪恶: echo bash >> .bashrc

我正在考虑通过运行以下命令之一来恶作剧某人:

echo bash >> .bashrc

或者

echo source .bashrc >> .bashrc

如果有人对您这样做,您可以采取什么措施来解决它(假设您只有命令行访问权限)?除了要求其他用户使用 来编辑它之外,您还能做些什么吗sudo

答案1

除非权限设置不安全,否则您无法编辑其他用户的 shell 启动文件。在他们不知情或未经同意的情况下执行此操作(适用于其主目录中的任何文件)将被视为不道德,也可能被视为违反行为,具体取决于系统上有效的行为规则。

如果您拥有sudo系统权限,并考虑玩这个“恶作剧”,那么您不应该拥有sudo该系统的权限

第一个命令将bash作为命令添加到 的末尾.bashrc。如果这是.bashrc在用户的主目录中,并且用户是用户bash,那么这将导致启动交互式 shell 的无限递归循环(一旦启动一个这样的 shell 会话),直到终止或遇到资源限制。

第二个命令会导致类似的循环,但代码只会在单bash进程环境中运行。这将一直持续到终止,或者直到某个环境变量(例如PATH,如果在每次迭代中添加到其中的脚本)变得太大,此时将达到资源限制。

在多用户系统上,这两种“恶作剧”都可能会影响其他用户,因为共享资源(主要是 CPU 和内存)被消耗。

在上述情况发生时编辑、更正然后保存文件将停止循环,但在受影响用户的进程终止.bashrc之前不会释放资源。bash

作为一种紧急修复,人们可以使用pkill -U username bashroot 或pkill bash受影响的用户来停止它。这将终止bash受影响用户的所有进程。

相关内容