如何让我的 Ubuntu 锁定?

如何让我的 Ubuntu 锁定?

警告!!!:问题要求暂时破坏 Ubuntu没有安全的答案。如果您正在运行重要服务,正在编辑重要文档/文件,请注意,您可能无法恢复/保存您的工作。请注意,尝试这些答案是不是除非您知道您在做什么以及为什么这样做,否则不建议这样做,并且如果您破坏了某些东西,那不是回答者(或提问者,FWIW)的错。

我需要一种方法来让我的 Ubuntu 变得无响应。无需运行关机脚本,无需从挂起状态恢复。只需一种快速而肮脏的方法让系统进入德普模式。只能通过关闭电源然后重新打开来恢复。

假设三件事:

  • 我是 root
  • 非 Bash 解决方案(因此请不要使用 fork 炸弹,但可以使用命令行解决方案)
  • 文件系统必须保持完整

讲话dobey 的评论

  • derp 模式基本上意味着“计算机运行,但仅此而已”
  • “你实际上想要实现什么”。我认为标题解释得很清楚。我想让操作系统随意失去响应,无法做任何事情。这正是我想要实现的。不需要调试,不需要XY问题。我只是需要一种让系统锁定/崩溃/挂断的方法,这样我除了按住关闭电源按钮之外什么也做不了。

答案1

使你的系统无法使用的一个明确方法就是使用以下命令使系统崩溃:

sudo sh -c 'echo c > /proc/sysrq-trigger'

或者(如果您的/proc/sys/kernel/sysrq设置不是那么严格,例如1),按Alt+ SysRq+C可以获得相同的效果。

这些文件记录在proc(5)手动的:

/proc/sys/内核/sysrq

该文件控制允许通过 SysRq 键调用的功能。[..]

/proc/sysrq-trigger(自 Linux 2.4.21 起)

向此文件写入字符会触发与键入 ALT-SysRq-<character> 相同的 SysRq 功能(请参阅 /proc/sys/kernel/sysrq 的描述)。此文件通常只能由 root 写入。有关更多详细信息,请参阅 Linux 内核源文件 Documentation/admin-guide/sysrq.rst(或 Linux 4.10 之前的 Documentation/sysrq.txt)。

有关此“sysrq”功能的更多信息,请参阅https://www.kernel.org/doc/html/latest/admin-guide/sysrq.html

答案2

除非您确切知道自己在做什么,否则请不要尝试!

  • 更改/proc/sys/kernel与内核崩溃相关的设置

    echo 1 >/proc/sys/kernel/hung_task_panic
    echo 1 >/proc/sys/kernel/panic_on_io_nmi
    echo 1 >/proc/sys/kernel/panic_on_oops
    echo 1 >/proc/sys/kernel/panic_on_stackoverflow
    

    这将使内核在出现挂起任务 (!)、IO 错误导致的 NMI、oops 或 BUG 以及内核、IRQ 和异常堆栈溢出时立即进入恐慌状态。虽然不会立即导致恐慌,但这应该会让它很多更容易切中要点。

  • 输出系统的 I/O 端口

    cat /dev/port
    
  • 用零覆盖存储设备

    cp /dev/zero /dev/mem
    
  • 用随机数填充系统 I/O 端口

    dd if=/dev/random of=/dev/port
    
  • 使用 SysRq,通过空指针取消引用执行系统崩溃:

    echo 1 >/proc/sys/kernel/sysrq # make sure SysRQ is fully enabled
    echo c >/proc/sysrq-trigger    # pull the trigger
    

我没有尝试过任何这些。(来源 01来源 02如何使用单个命令引起内核恐慌?来源 04

答案3

试:

cd /proc

其次是:

sudo kill *

应该可以

相关内容