也许,向我们展示了命令或程序在执行之前将执行的操作

大概

在下一篇文章中,我们将看一下Maybe。 有了这个工具,我们就能轻松知道 命令或程序在执行之前将执行的操作 直接从终端。 我们将通过Maybe实现这一目标。 公用事业 在ptrace的控制下运行进程 (在图书馆的帮助下 蟒蛇ptrace)。 该工具将在截获将要对文件系统进行更改的系统调用时开始工作。 它将记录该调用,然后修改CPU寄存器以将该调用重定向到 无效的系统调用ID (有效地将其转化为«无操作«)并将该无效呼叫的值设置为一个指示原始呼叫成功的值。

这是一个简单的工具,可让我们执行命令并 看看它实际上对我们的文件有什么作用。 查看列出我们的结果后,我们可以决定是否要执行它。

在Ubuntu上安装Maybe

为了使用此工具,我们必须确保 已经安装 点子 在我们的系统中 Gnu / Linux。 如果我们没有安装它,我们可以通过如下所示的简单方法来完成它。 我们可以在其中使用终端(Ctrl + Alt + T) Debian,Ubuntu和Linux Mint 编写以下命令:

sudo apt-get install python-pip

当我们已经在系统中安装了pip时,我们可以执行以下命令来 也许从终端安装:

sudo pip install maybe

我们可以在以下页面上了解有关此工具的更多信息: GitHub上 的项目。

在执行命令之前,如何知道命令或程序将执行的操作

使用此工具非常容易。 我们只需要 在命令前添加Maybe 我们要在终端中执行的代码。 作为示例,您可以看到我在终端中编写的以下命令:

maybe rm -r Ubunlog/

您可以看到我将使用命令“rm“一个名为”的文件夹Ubunlog»从我的系统。 在以下屏幕截图中,您可以在终端中看到命令显示的输出:

也许删除目录

Maybe工具将执行6个文件系统操作,而我 显示此命令将执行的操作 (rm -r Ubunlog/)。 现在,我可以决定是否应该执行此操作。 这是一个非常简单的示例,但我认为您可以看到该工具的概念是什么。

如果该实用程序还不是很清楚,则这是另一个示例。 我要安装桌面客户端 收件箱 适用于Gmail。 为此,我将转到下载文件的文件夹。 AppImage并与Maybe一起启动。 这是系统在终端中向我显示的内容(Ctrl + Alt + T):

也许安装appimage文件

maybe ./inboxer-0.4.0-x86_64.AppImage

万一该工具无法检测到 文件系统无操作,终端将向我们显示一条消息,表明它未检测到文件系统上的任何操作,因此不会显示警告。

从现在开始,我们甚至可以在执行命令之前轻松地知道命令或程序将执行的操作。 结果,系统认为您尝试做的所有事情实际上都在发生,而实际上却并非如此。

卸载也许

要从操作系统中删除此工具,我们仅需使用pip卸载选项。 为此,我们打开一个终端(Ctrl + Alt + T)并输入以下内容:

sudo pip uninstall maybe

警告

在生产系统上使用此实用程序时,我们必须非常小心 或在任何包含敏感信息的系统中。 这不是在我们的系统上运行不可靠代码的工具。 在Maybe下运行的进程可能仍然会严重损害我们的系统 因为只有少数系统调用被阻止。 我们还可以验证是否执行了诸如删除文件之类的操作 系统调用 只读,并相应地修改其行为。


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责数据:MiguelÁngelGatón
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。

  1.   罗伯特·罗宾

    假设一个人以管理员身份运行rm -r / *的想法很糟糕