Linux:如果进程打开文件进行写入,则让它失败

gue*_*tli 1 linux system-calls cgroups

我希望命令行工具在打开特定文件进行写入时失败。

有没有办法可以修改命令行工具的环境(可能通过 cgroups),以便命令/进程(例如)“权限被拒绝”?

chmod a-w file不起作用。该过程似乎unlink()然后重新创建该文件。

我知道我可以使用 来观看进程的系统调用strace。但是有没有办法改变一些调用,以便该过程得到不同的结果?

背景:单元测试

dav*_*ave 5

strace-e inject有一个名为或 的选项--inject,可用于更改被跟踪者的系统调用。(请参阅此处的联机帮助页

特别是, in 可以与-P仅跟踪访问指定路径的系统调用的选项结合使用。