创建应用程序可以编辑但用户不能编辑的文件

Create file that the application can edit but the user cannot

本文关键字:编辑 不能 文件 用户 创建 应用程序      更新时间:2023-10-16

我正在制作一款得分游戏,并希望保存高分。我希望将分数保存在程序可以访问的文件中(当然),但是用户不应该编辑分数(可能是只读文件)。只读文件的问题是,很明显,它是只读的,所以我不能把高分写进去。是否有办法创建一个文件,可以由应用程序编辑,但不能由用户,或者我必须以某种方式加密文件?

注:我更喜欢C (stdio.h)写文件的方法

即使加密也无法阻止应用程序以外的程序对文件的编辑。

我可以建议一个选项是简单地将数据存储为二进制格式吗?这样就省去了实现加密的复杂性,但仍然可以防止对文件的意外编辑。

您还可以让应用程序将文件设置为所有人只读,然后使其仅在使用它时可写。同样,这不会阻止其他人更改这些权限,但它会防止意外编辑。

在类unix系统上有一种既定的方法来实现这一点,但我不知道您如何在其他平台上做到这一点。我们的想法是为高分文件提供一个特殊组的组ID,通常简称为games。然后将游戏本身设置为setgid games,以便普通用户可以运行游戏,游戏可以编辑高分文件,但用户不能直接写入高分文件。

Unix &Linux: https://unix.stackexchange.com/a/59059/14308

相关文章: