【问题标题】:Understanding "intercepting" of commands in linux理解linux中命令的“拦截”
【发布时间】:2011-06-10 19:34:11
【问题描述】:

linux中的一些命令,例如。 ssh-agent $BASH 确保当前控制台中运行的命令的某些操作被另一个工具“拦截”。这通常是如何工作的?我应该学习哪些主题才能理解这一点?假设我想制作一个工具,将所有磁盘写入操作从之后启动的所有进程重定向到我指定的位置(厌倦了将各种废话写入磁盘上的奇怪位置,例如 ~/.adobe/Flash_Player/ AssetCache),这样一个应用程序的基本结构会是什么样子?是否必须低于 RING3 级别?

【问题讨论】:

  • ssh-agent 只设置了一些环境变量并调解对 ssh 授权套接字的访问。它调用命令,当命令终止时,ssh-agent 进程也会终止。

标签: linux operating-system


【解决方案1】:

ELF 允许插入共享对象。在 Linux 上,您可以使用 LD_PRELOAD 在动态可执行文件的符号查找范围内的所有其他内容之前插入共享对象,例如:

export LD_PRELOAD=/lib/libSegFault.so

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多