linux - 使用用户模式应用程序或内核模块监视在 Linux 的 shell 中执行的命令并阻止其中一些命令?
问题描述
在windows中,我们可以通过多种方式监控执行的命令,比如通过内核驱动回调监控进程的创建,检查父进程是CMD还是powershell,然后解析其命令行以查看执行了哪些命令。
我的问题是,如何在linux中做到这一点?这意味着我如何编写一个程序来监视大多数常见 shell(如 bin/sh)中的每个执行命令,并阻止某些命令通过命令行执行?
用户模式应用程序可以做到这一点吗?如果没有,那么内核模块呢?
编辑1:
另请注意,在这种情况下找到执行该命令的父进程非常重要,例如,如果一个良性进程执行命令“X”它可能完全没问题,但同样的可执行文件被其他东西执行可能非常可疑并且需要被阻止/审查。基本上,Linux 中 PsSetCreateProcessNotifyRoutineEx 的等价物是什么?
解决方案
推荐阅读
- api - 是否可以在 GKE 中通过 Kubernetes Gateway API 使用编程 IAP 身份验证?
- apache - 我不能使用我的公共 IP 访问我的 xampp 服务器?
- javascript - 用于通过 http 网页聊天应用程序进行推送通知的替代方案
- angular - 迁移到 AngularFire v7 (Firebase v9) - CRUD 操作
- c - LINUX FIFO 命名管道 (IPC) 在特定文件描述符处停止写入/读取消息
- json - 为什么一个 20MB 的 JSON 数组会创建一个 2GB 的表
- javascript - 如何以正确的方式从 javascript 创建一个按钮
- bash - 如何读取 CSV 文件内容并根据 shell 脚本中的字符串值进行查找
- python - 每次循环完成后如何打印字符
- r - 使用甘特图(或类似图)在 R 中绘制具有重叠的隶属关系数据