是否有 Linux 系统调用来创建文件范围的“视图”?

是否有 Linux 系统调用来创建文件范围的“视图”?

Linux 是否提供可以创建备份文件有限字节范围的“视图”的系统调用?我设想的一些东西例如会对打开的文件描述符起作用并对其进行修改或生成新的文件描述符,其中文件偏移量相对于范围的开头并结束于范围的结尾。

用例是将非合作子进程限制为仅访问输入文件的特定部分。

答案1

一种方法是使用循环设备。这种方法确实有两个要求,这可能会使其不太有用:您需要 root 才能设置它,并且非合作子进程必须能够写入块设备。哦,它不处理冲突的变化。

要设置循环设备,请运行

losetup -o 1024 --sizelimit 2048 --show -f yourfile

1024,2048和替换yourfile为适当的值 —-o指定起始偏移量、--sizelimit大小(从偏移量开始计数)。请注意,sizelimit必须是 512 的倍数。

这将输出已设置的循环设备的名称;根据需要调整权限,并将其授予您的非合作子流程。当您不再需要该设备时,将其删除

losetup -d /dev/loopN

N酌情更换。

相关内容