【问题标题】:Azure bash CLI - fork bomb could affected azure?Azure bash CLI - 叉子炸弹会影响天蓝色吗?
【发布时间】:2019-03-20 10:38:54
【问题描述】:

“分叉炸弹”是否会从全局角度影响 azure,或者运行 Azure Bash CLI 的主机是否受到影响?我看到 Azure Bash CLI 不是在客户端运行,而是在 Azure 服务器端运行。我不是在谈论您部署的主机,而是在“Azure bash cli”...占用所有可用的系统资源,系统将崩溃) 问题是这是否可以循环执行,例如 10 000 次,以及提供此 Azure bash CLI 的 microsoft azure 端的此服务器是否受到影响。

如何自己测试并重现问题?

  1. 从 Azure 门户打开 - Azure bash CLI
  2. 编写“主机名”命令以查看分配给 Azure bash CLI 的主机名
  3. 将以下代码粘贴到 Azure bash CLI - 以执行“fork bomb”

:(){ :|: & };:

  1. 现在会话不再可用,因为没有可用的资源,正如我在顶部所描述的那样。
  2. 现在打开新的会话终端写入“主机名”,您将获得新的 Azure bash CLI,但旧的不再可用,因为已经死了...
  3. 您将看到分配了新的主机名。您现在可以循环执行多少次。

这会影响:

  1. 运行 Azure bash CLI 的服务器? - 是否已实施解决方案来防止此问题?
  2. 这是否会影响全局 Azure bash CLI - 如果对具有唯一 Azure bash CLI 主机名的多个会话执行大循环。

【问题讨论】:

    标签: bash azure command-line-interface


    【解决方案1】:
    1. 这与 Azure cli 无关。 Azure cli 只是一个二进制文件,它是一个 bash(也许是 sh,我不知道)“利用”。我可以在 powershell 中运行 Azure Cli,并且 powershell 不受此(或 cmd)的影响
    2. Azure 云外壳在一个隔离的容器中运行,因此您可以通过此操作实现所有目标 - 容器死亡,资源被释放。这些容器对它们也有资源限制,因此您无法关闭主机
    3. 你可能会因此被禁止,我认为这是违反 EULA 的

    【讨论】:

    • 谢谢,如果它在容器中运行,这也是我关于 azure 培训的问题,但我没有得到答案,这就是我问这个问题的原因。感谢您的回答。这意味着循环没有任何影响?
    • 我不知道它是否有效,我不想测试它是否有效。如果你说它取下容器,我想它会这样做,但由于你的 bash 在容器中,你不能真正创建一个循环。一旦容器关闭,您的会话就会关闭,因此您的循环就消失了
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-12
    • 1970-01-01
    • 2021-06-10
    • 2019-02-24
    相关资源
    最近更新 更多