在下一篇文章中,我们将看一下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“一个名为”的文件夹登录»从我的系统。 在以下屏幕截图中,您可以在终端中看到命令显示的输出:
Maybe工具将执行6个文件系统操作,而我 显示此命令将执行的操作 (rm -r Ubunlog /)。 现在,我可以决定是否应该执行此操作。 这是一个非常简单的示例,但我认为您可以看到该工具的概念是什么。
如果该实用程序还不是很清楚,则这是另一个示例。 我要安装桌面客户端 收件箱 适用于Gmail。 为此,我将转到下载文件的文件夹。 AppImage并与Maybe一起启动。 这是系统在终端中向我显示的内容(Ctrl + Alt + T):
maybe ./inboxer-0.4.0-x86_64.AppImage
万一该工具无法检测到 文件系统无操作,终端将向我们显示一条消息,表明它未检测到文件系统上的任何操作,因此不会显示警告。
从现在开始,我们甚至可以在执行命令之前轻松地知道命令或程序将执行的操作。 结果,系统认为您尝试做的所有事情实际上都在发生,而实际上却并非如此。
卸载也许
要从操作系统中删除此工具,我们仅需使用pip卸载选项。 为此,我们打开一个终端(Ctrl + Alt + T)并输入以下内容:
sudo pip uninstall maybe
警告
在生产系统上使用此实用程序时,我们必须非常小心 或在任何包含敏感信息的系统中。 这不是在我们的系统上运行不可靠代码的工具。 在Maybe下运行的进程可能仍然会严重损害我们的系统 因为只有少数系统调用被阻止。 我们还可以验证是否执行了诸如删除文件之类的操作 系统调用 只读,并相应地修改其行为。
发表评论,留下您的评论
假设一个人以管理员身份运行rm -r / *的想法很糟糕