我很好奇是否有人可以帮助我了解保护 Linux 命令行应用程序的潜在破坏性命令行选项的最佳方法是什么?
给出一个非常假设的场景:想象一个命令行程序,它在紧急断电之前设置处理器的最大散热设置。让我们进一步假设有两个主要选项,其中之一是 --max-Temperature(以摄氏度为单位),它可以设置为 30 到 50 之间的任何整数。还有一个覆盖标志 --melt ,它会禁用处理器无论处理器有多热,都不会通过软件关闭,直到系统出现电气/机械故障。
当然,像 --melt 这样的选项是危险的,在最坏的情况下可能会导致物理破坏。但同样,让我们假设这种类型的功能是必需的(尽管很奇怪)。该应用程序必须以 root 身份运行,但如果希望帮助确保 --melt 选项不会被困惑或没有经验的用户意外触发,您会怎么做?
当然,一个非常常见的反模式(IMO)是隐藏该选项,这样 --help 或手册页就不会透露它的存在,但这是通过模糊性实现的安全性,并且可能会因用户触发它而产生意想不到的后果,但无法找出它的含义。
另一种可能性是将标志更改为命令行参数,要求用户传递 --melt OVERRIDE 或其他一些标记作为他们真正想要执行此操作的标志。
是否有其他机制可以实现相同的目标?