gpt4 book ai didi

c - 标记预分配的文件 block 在 linux 中有效

转载 作者:太空宇宙 更新时间:2023-11-04 08:32:28 25 4
gpt4 key购买 nike

Linux 有fallocate() 函数,它允许为文件预分配 block 。但即使底层 block 可能包含旧数据,该文件似乎也充满了零。

这是因为在现代文件系统上, block 被标记为无效,所以当您读取文件时,操作系统只会用零填充您的缓冲区。将这些 block 标记为有效的唯一方法是写入文件。

这是一种防止读取其他用户数据的安全措施。当 root 调用 fallocate() 时,为 root 用户创建一个异常并将这些 block 标记为有效是合乎逻辑的,但函数行为是相同的。

所以我想问,是否有一个单独的函数可用于 root 仅用于验证预分配的文件 block ?

最佳答案

So I'm asking, is there a separate function available to root only to validate the preallocated file blocks?

简短的回答是否定的。你有问题本身的原因。它基本上是为了防止应用程序读取随机旧数据并优化性能,避免额外的步骤来验证预分配的文件 block 。

作为根用户,没有什么能阻止您在设备上进行原始读取。

关于c - 标记预分配的文件 block 在 linux 中有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27707425/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com