我有一个函数f(),它返回0或1 - 0表示false,1表示true。我想要做的是使用seccomp-bpf设置规则,以便系统调用" fopen"只有当f( - fopen' s first parameter - )== 1。
时才允许我该怎么做?
答案 0 :(得分:2)
据我所知,seccomp-bpf对于任意f()都是不可能的。如果f可以转换为BPF序列,只需将其应用于第一个参数。
另一种选择是使用ptrace或者seccomp-buf和ptrace的组合来细化限制fopen调用的功能
此类组合使用的一个示例是sydbox http://dev.exherbo.org/~alip/sydbox/sydbox.html